From 9460889b3c13e54c2c358e2bba8bbb7a5dd67f1d Mon Sep 17 00:00:00 2001 From: Meher Mankikar Date: Tue, 1 Aug 2023 17:17:10 -0700 Subject: [PATCH] Updating comments with bug fix, test cases were failing when being run in succession becuase of incorrect closing of threads --- .../amazon/kinesis/application/TestConsumer.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/amazon-kinesis-client/src/test/java/software/amazon/kinesis/application/TestConsumer.java b/amazon-kinesis-client/src/test/java/software/amazon/kinesis/application/TestConsumer.java index 35200f6d..8d3179be 100644 --- a/amazon-kinesis-client/src/test/java/software/amazon/kinesis/application/TestConsumer.java +++ b/amazon-kinesis-client/src/test/java/software/amazon/kinesis/application/TestConsumer.java @@ -55,7 +55,7 @@ public class TestConsumer { private LifecycleConfig lifecycleConfig; private ProcessorConfig processorConfig; private Scheduler scheduler; - private static final ScheduledExecutorService PRODUCER_EXECUTOR = Executors.newSingleThreadScheduledExecutor(); + private ScheduledExecutorService producerExecutor; private ScheduledFuture producerFuture; private ScheduledExecutorService consumerExecutor; private ScheduledFuture consumerFuture; @@ -127,7 +127,8 @@ public class TestConsumer { } private void startProducer() { - producerFuture = PRODUCER_EXECUTOR.scheduleAtFixedRate(this::publishRecord, 10, 1, TimeUnit.SECONDS); + this.producerExecutor = Executors.newSingleThreadScheduledExecutor(); + this.producerFuture = producerExecutor.scheduleAtFixedRate(this::publishRecord, 10, 1, TimeUnit.SECONDS); // Reshard logic if required for the test if (consumerConfig.getReshardFactorList() != null) { @@ -137,7 +138,7 @@ public class TestConsumer { // Schedule the stream scales 4 minutes apart with 2 minute starting delay for (int i = 0; i < consumerConfig.getReshardFactorList().size(); i++) { - PRODUCER_EXECUTOR.schedule(s, (4 * i) + 2, TimeUnit.MINUTES); + producerExecutor.schedule(s, (4 * i) + 2, TimeUnit.MINUTES); } } } @@ -179,8 +180,8 @@ public class TestConsumer { if (producerFuture != null) { producerFuture.cancel(false); } - if (PRODUCER_EXECUTOR != null) { - PRODUCER_EXECUTOR.shutdown(); + if (producerExecutor != null) { + producerExecutor.shutdown(); } }