From 2c5e08bcd5c3dc81add4ee728af0c259946bd1c2 Mon Sep 17 00:00:00 2001 From: Christopher Batey Date: Mon, 11 Mar 2019 14:27:06 +0000 Subject: [PATCH] Harden InactiveEntityPassivationSpec Add a small tolerance for expectation of when passivation should happen. Could be a pause between the time the last message was received and calculating the duration until passivation. Fixes #25964 --- .../cluster/sharding/InactiveEntityPassivationSpec.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/akka-cluster-sharding/src/test/scala/akka/cluster/sharding/InactiveEntityPassivationSpec.scala b/akka-cluster-sharding/src/test/scala/akka/cluster/sharding/InactiveEntityPassivationSpec.scala index d553875e6e..88f86182c1 100644 --- a/akka-cluster-sharding/src/test/scala/akka/cluster/sharding/InactiveEntityPassivationSpec.scala +++ b/akka-cluster-sharding/src/test/scala/akka/cluster/sharding/InactiveEntityPassivationSpec.scala @@ -53,6 +53,8 @@ object InactiveEntityPassivationSpec { class InactiveEntityPassivationSpec extends AkkaSpec(InactiveEntityPassivationSpec.config) { import InactiveEntityPassivationSpec._ + val smallTolerance = 300.millis + "Passivation of inactive entities" must { "passivate entities when they haven't seen messages for the configured duration" in { @@ -86,7 +88,8 @@ class InactiveEntityPassivationSpec extends AkkaSpec(InactiveEntityPassivationSp // make sure "1" hasn't seen a message in 3 seconds and passivates val timeSinceOneSawAMessage = (System.nanoTime() - timeOneSawMessage).nanos - probe.expectNoMessage(3.seconds - timeSinceOneSawAMessage) + val timeUntilPassivate: FiniteDuration = (3.seconds - timeSinceOneSawAMessage) - smallTolerance + probe.expectNoMessage(timeUntilPassivate) probe.expectMsg("1 passivating") // but it can be re activated just fine: