#50510 etime can contain invalid nanosecond value
Closed: wontfix by mreynolds. Opened by tbordaz.

Ticket was cloned from Red Hat Bugzilla (product Red Hat Enterprise Linux 7): Bug 1732053

Description of problem:
The etime is computed as end_time - start_time. time is composed of two
counters sec/nsec (timespec). When end_time.nsec > start_time.nsec then the
nsec value in the etime is invalid.
It should be 1B - (start_time.nsec - end_time.nsec) but it is 1B +
(start_time.nsec - end_time.nsec)
Then we can have logs like:
    [17/Jul/2019:10:12:02.880310556 -0400] conn=1642 op=34 SRCH
base="cn=my_group,cn=groups,cn=accounts,<suffix>" scope=0
filter="(objectClass=*)" attrs="objectClass posixgroup cn userPassword
gidNumber member ipaUniqueID ipaNTSecurityIdentifier modifyTimestamp entryusn
ipaExternalMember uid"
    [17/Jul/2019:10:12:03.575336828 -0400] conn=1642 op=34 RESULT err=0 tag=101
nentries=1 etime=0.1301729719
Here etime should be close to
1000000000 - (880310556 - 575336828) = 0.695026272
This impact function slapi_timespec_diff
Version-Release number of selected component (if applicable):
All RHEL7
How reproducible:
Not systematic. Run fast commands (search on cn=config), when start and end
cover a second border, start.nsec > end.nsec
Actual results:
etime can contain wrong nsec value
Expected results:
etime should contain valid nsec value
Additional info:

Metadata Update from @tbordaz:
- Custom field rhbz adjusted to https://bugzilla.redhat.com/show_bug.cgi?id=1732053

https://pagure.io/389-ds-base/pull-request/50513

Metadata Update from @tbordaz:
- Custom field origin adjusted to None
- Custom field reviewstatus adjusted to None

c77825521..4295210b2 master

Note the problem occurred for rapid REQ (few ns) that start/end at the border of a second. But it is MONOTONIC second, not the second used for log timestamp. This is the reason why TC does not look for border of second but rather for rapid REQ accounted for 0.199xx sec where it uses to run for few nanosecond.

389-ds-base-1.3.10

commit bae369e6d8b26660d9da9e1e01e955deb499a55d

Metadata Update from @mreynolds:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

Metadata Update from @vashirov:
- Issue set to the milestone: None (was: 0.0 NEEDS_TRIAGE)

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/389ds/389-ds-base/issues/3566

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix (was: fixed)

Metadata