From 400cabb72aeec706e9bbf83674a1436a18cbe204 Mon Sep 17 00:00:00 2001 From: Ivan Simonenko Date: Thu, 3 Aug 2017 11:24:37 -0700 Subject: [PATCH] extra checks to prevent Tranquilizer of being stuck (cherry picked from commit 07704de) --- .../com/metamx/tranquility/tranquilizer/Tranquilizer.scala | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/src/main/scala/com/metamx/tranquility/tranquilizer/Tranquilizer.scala b/core/src/main/scala/com/metamx/tranquility/tranquilizer/Tranquilizer.scala index 541044b..a229a29 100644 --- a/core/src/main/scala/com/metamx/tranquility/tranquilizer/Tranquilizer.scala +++ b/core/src/main/scala/com/metamx/tranquility/tranquilizer/Tranquilizer.scala @@ -307,6 +307,11 @@ class Tranquilizer[MessageType] private( myBuffer.map(_ => Future.exception(new IllegalStateException("sendAll failed", e))) } + assert(myBuffer.nonEmpty) + // Check that all beams in the chain respect the contract. + // We can't be sure that they are still in the same order but at least we can check that a result exists for all messages sent + assert(myBuffer.size == futureResults.size) + val remaining = new AtomicInteger(futureResults.size) val sent = new AtomicInteger() val dropped = new AtomicInteger()