Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#4075 closed defect (fixed)

reclaimExpiredLeasesTimeout unit tests failed

Reported by: wlodekwencel Owned by: marcin
Priority: medium Milestone: Kea1.0-beta
Component: Unclassified Version: git
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: DHCP Feature Depending on Ticket:
Estimated Difficulty: 0 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no

Description

Tests:
ExpirationAllocEngine6Test.reclaimExpiredLeasesTimeout
ExpirationAllocEngine4Test.reclaimExpiredLeasesTimeout

are failing on all NetBSD and OpenBSD systems connected to Jenkins.

Subtickets

Change History (8)

comment:1 follow-up: Changed 4 years ago by marcin

This is clearly a timing issue because of the slowness of those systems. The test takes timing issues like this into account but apparently it is still not enough for those machines. I dislike doing it but it seems like we have no choice but to lower the thresholds for the tests again.

And I think this should be done for 1.0 as it affects the Continuous Integration process.

comment:2 in reply to: ↑ 1 Changed 4 years ago by fdupont

Replying to marcin:

This is clearly a timing issue because of the slowness of those systems. The test takes timing issues like this into account but apparently it is still not enough for those machines. I dislike doing it but it seems like we have no choice but to lower the thresholds for the tests again.

And I think this should be done for 1.0 as it affects the Continuous Integration process.

=> I have the same feeling. Note it can be a side effect of the virtualization too: I had a lot of similar timing issues a long time ago with FreeBSD VMs when I tried to run Tahi test suites for ISC DHCP. It is now solved but perhaps not fully for Net/OpenBSD. Another possible source of problems is the granularity of the clock (i.e., perhaps 60ms is too short too).

comment:3 Changed 4 years ago by hschempf

  • Milestone changed from Kea-proposed to Kea1.0

comment:4 Changed 4 years ago by marcin

  • Owner set to marcin
  • Status changed from new to accepted

comment:5 Changed 4 years ago by marcin

  • Owner changed from marcin to UnAssigned
  • Status changed from accepted to reviewing

I modified the test to do usleep for 40ms, instead of 2ms for every lease. The wakeup time from usleep takes 10ms on average, so this value makes much more sense, than 2ms. The issue we hit here is a well known problem on VMs on which there is no real guarantee how long the wake up from sleep would take. I think this should address the immediate problem with the tests.

Proposed ChangeLog entry:

10XX.	[bug]		marcin
	Fixed failing 'reclaimExpiredLeasesTimeout' unit tests on
	virtual machines.
	(trac #4075, git cafe)

comment:6 Changed 4 years ago by fdupont

  • Owner changed from UnAssigned to marcin

Seems good. For the ChangeLog I suggest: on virtual machines -> on some virtual machines.
I launched Jenkins on the NetBSD VM (but I believe this fixed the issue so don't wait).

comment:7 Changed 4 years ago by marcin

  • Resolution set to fixed
  • Status changed from reviewing to closed

Merged with commit c3a2487f53ecf69edc0a38f574fce17c4332162c

comment:8 Changed 4 years ago by tomek

  • Milestone changed from Kea1.0 to Kea1.0-beta

Milestone renamed

Note: See TracTickets for help on using tickets.