From 429d30f91da7166ac4674b8bd01a21b3fd311722 Mon Sep 17 00:00:00 2001 From: Mattie Fu Date: Tue, 21 Jul 2026 22:36:43 -0400 Subject: [PATCH] fix: fix session budget penality logic --- .../data/v2/internal/session/SessionCreationBudget.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/session/SessionCreationBudget.java b/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/session/SessionCreationBudget.java index bfa8dd2213a9..8119eaf13af9 100644 --- a/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/session/SessionCreationBudget.java +++ b/java-bigtable/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/internal/session/SessionCreationBudget.java @@ -22,6 +22,7 @@ import java.time.Duration; import java.time.Instant; import java.util.ArrayList; +import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.logging.Level; @@ -63,7 +64,7 @@ Instant getNextAvailableBudget() { return Instant.now(); } - return delayedCreationTokens.get(0); + return Collections.min(delayedCreationTokens); } boolean tryReserveSession() { @@ -96,10 +97,6 @@ private void drainCreationFailures() { if (iter.next().isBefore(now)) { concurrentRequests--; iter.remove(); - } else { - // The list should be roughly sorted. Exit early when we encounter - // something expires later. - break; } } }