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 8178e4b4..05e8e58d 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 @@ -36,7 +36,7 @@ public class DiagnosticUtils { 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" 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 6ec33643..c913304d 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 @@ -47,7 +47,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;