Change workSchedule time to avoid SupervisorHierarchySpec running slow. See #3312

The analysis has shown the following:

* when it happens, no work is outstanding, the supervisor hierarchy is in a quiet state
* test completes normally in 20s, one observed outlier at 33s and two failures which can be extrapolated to 75s and 59s
* timings can be reproduced on a notebook by inserting Thread.slee(p) in Hierarchy.preRestart
* what happens then is that the FSM backs off (with 250ms timer), bursts work, backs off, etc.
* setting the back-off timeout to 50ms reduces runtime from 50s to 20s on the notebook

Preliminary conclusion is that this is an artifact of the test procedure. No indication was seen of corruption or indefinitely suspending actor or any other incorrect behavior.
This commit is contained in:
Björn Antonsson 2013-05-30 12:00:50 +02:00
parent 9d2677a4cf
commit a136f8b0aa

View file

@ -470,7 +470,7 @@ object SupervisorHierarchySpec {
setTimer("phase", StateTimeout, 50.seconds.dilated, false)
}
val workSchedule = 250.millis
val workSchedule = 50.millis
private def random012: Int = Random.nextFloat match {
case x if x > 0.1 0