From 55b2e5da341cd7e3548a30daf9b2fe6d2c93ebac Mon Sep 17 00:00:00 2001 From: Brendan Lynch Date: Tue, 30 Apr 2024 15:13:51 -0700 Subject: [PATCH] Fixed typo and made for loop into stream for getting available leases --- .../java/software/amazon/kinesis/leases/Lease.java | 2 +- .../kinesis/leases/dynamodb/DynamoDBLeaseTaker.java | 12 +++--------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/amazon-kinesis-client/src/main/java/software/amazon/kinesis/leases/Lease.java b/amazon-kinesis-client/src/main/java/software/amazon/kinesis/leases/Lease.java index 0ca887b4..b1602eb8 100644 --- a/amazon-kinesis-client/src/main/java/software/amazon/kinesis/leases/Lease.java +++ b/amazon-kinesis-client/src/main/java/software/amazon/kinesis/leases/Lease.java @@ -174,7 +174,7 @@ public class Lease { /** * @param leaseDurationNanos duration of lease in nanoseconds * @param asOfNanos time in nanoseconds to check expiration as-of - * @return true if lease lease is ready te taken + * @return true if lease lease is ready to be taken */ public boolean isAvailable(long leaseDurationNanos, long asOfNanos) { return isUnassigned() || isExpired(leaseDurationNanos, asOfNanos); diff --git a/amazon-kinesis-client/src/main/java/software/amazon/kinesis/leases/dynamodb/DynamoDBLeaseTaker.java b/amazon-kinesis-client/src/main/java/software/amazon/kinesis/leases/dynamodb/DynamoDBLeaseTaker.java index e42b38e5..a4aabafd 100644 --- a/amazon-kinesis-client/src/main/java/software/amazon/kinesis/leases/dynamodb/DynamoDBLeaseTaker.java +++ b/amazon-kinesis-client/src/main/java/software/amazon/kinesis/leases/dynamodb/DynamoDBLeaseTaker.java @@ -373,15 +373,9 @@ public class DynamoDBLeaseTaker implements LeaseTaker { * @return list of leases that available as of our last scan. */ private List getAvailableLeases() { - List availableLeases = new ArrayList<>(); - - for (Lease lease : allLeases.values()) { - if (lease.isAvailable(leaseDurationNanos, lastScanTimeNanos)) { - availableLeases.add(lease); - } - } - - return availableLeases; + return allLeases.values().stream() + .filter(lease->lease.isAvailable(leaseDurationNanos, lastScanTimeNanos)) + .collect(Collectors.toList()); } /**