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.
subscribe
Thank you for understanding. We apologize for all inconvenience.
Metadata Update from @spichugi: - Issue close_status updated to: wontfix (was: fixed)