diff --git a/amazon-kinesis-client/src/main/java/software/amazon/kinesis/leases/dynamodb/DynamoDBLeaseRefresher.java b/amazon-kinesis-client/src/main/java/software/amazon/kinesis/leases/dynamodb/DynamoDBLeaseRefresher.java index 06808d25..0a6a2ad1 100644 --- a/amazon-kinesis-client/src/main/java/software/amazon/kinesis/leases/dynamodb/DynamoDBLeaseRefresher.java +++ b/amazon-kinesis-client/src/main/java/software/amazon/kinesis/leases/dynamodb/DynamoDBLeaseRefresher.java @@ -622,11 +622,9 @@ public class DynamoDBLeaseRefresher implements LeaseRefresher { if (isTotalSegmentsCacheValid()) { return cachedTotalSegments; } - int parallelScanTotalSegments = DEFAULT_LEASE_TABLE_SCAN_PARALLELISM_FACTOR; - if (isTotalSegmentsCacheValid()) { - return cachedTotalSegments; - } - DescribeTableResponse describeTableResponse = describeLeaseTable(); + + int parallelScanTotalSegments = cachedTotalSegments == null ? DEFAULT_LEASE_TABLE_SCAN_PARALLELISM_FACTOR : cachedTotalSegments; + final DescribeTableResponse describeTableResponse = describeLeaseTable(); if (describeTableResponse == null) { log.info("DescribeTable returned null so using default totalSegments : {}", parallelScanTotalSegments); } else {