From 3fba5b31e6b998581f46cf12d99f32ccddc06f14 Mon Sep 17 00:00:00 2001 From: Vijay Date: Thu, 19 Dec 2019 12:42:02 -0800 Subject: [PATCH] Ensure the new test task is scheduled beyond millisecond delay to avoid incorrect test failure. --- .../software/amazon/kinesis/lifecycle/ShardConsumerTest.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/amazon-kinesis-client/src/test/java/software/amazon/kinesis/lifecycle/ShardConsumerTest.java b/amazon-kinesis-client/src/test/java/software/amazon/kinesis/lifecycle/ShardConsumerTest.java index 533a200a..e5db170b 100644 --- a/amazon-kinesis-client/src/test/java/software/amazon/kinesis/lifecycle/ShardConsumerTest.java +++ b/amazon-kinesis-client/src/test/java/software/amazon/kinesis/lifecycle/ShardConsumerTest.java @@ -816,6 +816,10 @@ public class ShardConsumerTest { assertThat(consumer.taskRunningTime(), nullValue()); cache.requestBarrier.reset(); + // Sleep for 10 millis before processing next task. If we don't; then the following + // assertion on time fails. This happens if cache.publish() is executed in the + // same millisecond as that of previousTaskStartTime, resulting in the unit test failure. + Thread.sleep(10); cache.publish(); awaitAndResetBarrier(taskArriveBarrier);