From 831bc572eac05a8e3d52b59c7b55aaba7468d8f6 Mon Sep 17 00:00:00 2001 From: Sam Halliday Date: Thu, 23 Feb 2023 14:07:48 +0000 Subject: [PATCH 1/2] MAX_TIME_BETWEEN_REQUEST_RESPONSE can be changed by the user fixes #1051 --- .../java/software/amazon/kinesis/lifecycle/ShardConsumer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/amazon-kinesis-client/src/main/java/software/amazon/kinesis/lifecycle/ShardConsumer.java b/amazon-kinesis-client/src/main/java/software/amazon/kinesis/lifecycle/ShardConsumer.java index a575a953..8902a262 100644 --- a/amazon-kinesis-client/src/main/java/software/amazon/kinesis/lifecycle/ShardConsumer.java +++ b/amazon-kinesis-client/src/main/java/software/amazon/kinesis/lifecycle/ShardConsumer.java @@ -52,7 +52,7 @@ import software.amazon.kinesis.retrieval.RecordsPublisher; @KinesisClientInternalApi public class ShardConsumer { - public static final int MAX_TIME_BETWEEN_REQUEST_RESPONSE = 60 * 1000; + public static final int MAX_TIME_BETWEEN_REQUEST_RESPONSE = Integer.parseInt(System.getProperty("software.amazon.kinesis.lifecycle.ShardConsumer.max_time", "60000")); private final RecordsPublisher recordsPublisher; private final ExecutorService executorService; private final ShardInfo shardInfo; From 4d04a2e05eac1f2f8840c3df74fbc862f533f62e Mon Sep 17 00:00:00 2001 From: Sam Halliday Date: Thu, 23 Feb 2023 14:20:04 +0000 Subject: [PATCH 2/2] make the code match the comment --- .../java/software/amazon/kinesis/common/DiagnosticUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/amazon-kinesis-client/src/main/java/software/amazon/kinesis/common/DiagnosticUtils.java b/amazon-kinesis-client/src/main/java/software/amazon/kinesis/common/DiagnosticUtils.java index 37eea1a3..0f350c07 100644 --- a/amazon-kinesis-client/src/main/java/software/amazon/kinesis/common/DiagnosticUtils.java +++ b/amazon-kinesis-client/src/main/java/software/amazon/kinesis/common/DiagnosticUtils.java @@ -35,7 +35,7 @@ public class DiagnosticUtils { public static void takeDelayedDeliveryActionIfRequired(String resourceIdentifier, Instant enqueueTimestamp, Logger log) { final long durationBetweenEnqueueAndAckInMillis = Duration .between(enqueueTimestamp, Instant.now()).toMillis(); - if (durationBetweenEnqueueAndAckInMillis > MAX_TIME_BETWEEN_REQUEST_RESPONSE / 3) { + if (durationBetweenEnqueueAndAckInMillis > 11000) { // The above condition logs the warn msg if the delivery time exceeds 11 seconds. log.warn( "{}: Record delivery time to shard consumer is high at {} millis. Check the ExecutorStateEvent logs"