Harden ResizerSpec a bit more. See #2822

This commit is contained in:
Björn Antonsson 2012-12-21 14:52:38 +01:00
parent 8a9f30d4ac
commit 0bb55870cd

View file

@ -176,13 +176,13 @@ class ResizerSpec extends AkkaSpec(ResizerSpec.config) with DefaultTimeout with
"backoff" in within(10 seconds) {
val resizer = DefaultResizer(
lowerBound = 1,
lowerBound = 2,
upperBound = 5,
rampupRate = 1.0,
backoffRate = 1.0,
backoffThreshold = 0.40,
pressureThreshold = 1,
messagesPerResize = 1)
messagesPerResize = 2)
val router = system.actorOf(Props(new Actor {
def receive = {
@ -192,19 +192,20 @@ class ResizerSpec extends AkkaSpec(ResizerSpec.config) with DefaultTimeout with
}).withRouter(RoundRobinRouter(resizer = Some(resizer))))
// put some pressure on the router
for (m 0 to 5) {
router ! 100
for (m 0 until 15) {
router ! 150
Thread.sleep((20 millis).dilated.toMillis)
}
val z = routeeSize(router)
z must be >= (2)
z must be > (2)
Thread.sleep((300 millis).dilated.toMillis)
// let it cool down
awaitCond({
router ! 0 // trigger resize
Thread.sleep((20 millis).dilated.toMillis)
routeeSize(router) < z
}, interval = 500.millis.dilated)