From 068c4d61b72913fa3c3689d125f28ae08411c94b Mon Sep 17 00:00:00 2001 From: NiranjanKumar001 Date: Fri, 14 Aug 2026 18:00:35 +0530 Subject: [PATCH 1/9] fix(gax): implement getMessage() in FlowController exceptions --- .../google/api/gax/batching/FlowController.java | 14 ++++++++++++-- .../api/gax/batching/FlowControllerTest.java | 14 ++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java index 3f282b0db7e6..7631422d4620 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java @@ -76,10 +76,15 @@ public long getCurrentMaxBatchElementCount() { } @Override - public String toString() { + public String getMessage() { return String.format( "The maximum number of batch elements: %d have been reached.", currentMaxElementCount); } + + @Override + public String toString() { + return getMessage(); + } } /** @@ -99,10 +104,15 @@ public long getCurrentMaxBatchBytes() { } @Override - public String toString() { + public String getMessage() { return String.format( "The maximum number of batch bytes: %d have been reached.", currentMaxBytes); } + + @Override + public String toString() { + return getMessage(); + } } /** diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java index c91b5b17aed7..a66076b98677 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java @@ -774,4 +774,18 @@ private List> testConcurrentUpdates( executors.shutdown(); return reserveReleaseFuture; } + + @Test + void testExceptionGetMessage() { + FlowController.MaxOutstandingElementCountReachedException elementException = + new FlowController.MaxOutstandingElementCountReachedException(100); + assertThat(elementException.getMessage()) + .isEqualTo("The maximum number of batch elements: 100 have been reached."); + + FlowController.MaxOutstandingRequestBytesReachedException bytesException = + new FlowController.MaxOutstandingRequestBytesReachedException(500); + assertThat(bytesException.getMessage()) + .isEqualTo("The maximum number of batch bytes: 500 have been reached."); + } } + From 0aed6f9cf6352f1688335ca346cc9b3a1a11086b Mon Sep 17 00:00:00 2001 From: NiranjanKumar001 Date: Fri, 14 Aug 2026 18:08:49 +0530 Subject: [PATCH 2/9] refactor: pass detail message to super constructor per code review --- .../api/gax/batching/FlowController.java | 33 +++++++------------ 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java index 7631422d4620..03b5fb7b3afd 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java @@ -43,6 +43,10 @@ public class FlowController { /** Base exception that signals a flow control state. */ public abstract static class FlowControlException extends Exception { private FlowControlException() {} + + protected FlowControlException(String message) { + super(message); + } } /** @@ -68,23 +72,16 @@ public static final class MaxOutstandingElementCountReachedException private final long currentMaxElementCount; public MaxOutstandingElementCountReachedException(long currentMaxElementCount) { + super( + String.format( + "The maximum number of batch elements: %d have been reached.", + currentMaxElementCount)); this.currentMaxElementCount = currentMaxElementCount; } public long getCurrentMaxBatchElementCount() { return currentMaxElementCount; } - - @Override - public String getMessage() { - return String.format( - "The maximum number of batch elements: %d have been reached.", currentMaxElementCount); - } - - @Override - public String toString() { - return getMessage(); - } } /** @@ -96,23 +93,15 @@ public static final class MaxOutstandingRequestBytesReachedException private final long currentMaxBytes; public MaxOutstandingRequestBytesReachedException(long currentMaxBytes) { + super( + String.format( + "The maximum number of batch bytes: %d have been reached.", currentMaxBytes)); this.currentMaxBytes = currentMaxBytes; } public long getCurrentMaxBatchBytes() { return currentMaxBytes; } - - @Override - public String getMessage() { - return String.format( - "The maximum number of batch bytes: %d have been reached.", currentMaxBytes); - } - - @Override - public String toString() { - return getMessage(); - } } /** From d6faa346c16553077e8f462a3242b2399266ea01 Mon Sep 17 00:00:00 2001 From: Niranjan Kumar Date: Fri, 14 Aug 2026 20:31:10 +0530 Subject: [PATCH 3/9] Update sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../main/java/com/google/api/gax/batching/FlowController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java index 03b5fb7b3afd..561872c5e7e5 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java @@ -44,7 +44,7 @@ public class FlowController { public abstract static class FlowControlException extends Exception { private FlowControlException() {} - protected FlowControlException(String message) { + private FlowControlException(String message) { super(message); } } From 1513241555939fc07cc71b5cec42bfd77030c093 Mon Sep 17 00:00:00 2001 From: Niranjan Kumar Date: Fri, 14 Aug 2026 20:36:09 +0530 Subject: [PATCH 4/9] Update sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../main/java/com/google/api/gax/batching/FlowController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java index 561872c5e7e5..df2f9d39d727 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java @@ -74,7 +74,7 @@ public static final class MaxOutstandingElementCountReachedException public MaxOutstandingElementCountReachedException(long currentMaxElementCount) { super( String.format( - "The maximum number of batch elements: %d have been reached.", + "The maximum number of batch elements: %d has been reached.", currentMaxElementCount)); this.currentMaxElementCount = currentMaxElementCount; } From 9fb09de1e4f4103f46ad105e6df3b37ebfaefa9f Mon Sep 17 00:00:00 2001 From: Niranjan Kumar Date: Fri, 14 Aug 2026 20:36:29 +0530 Subject: [PATCH 5/9] Update sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../main/java/com/google/api/gax/batching/FlowController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java index df2f9d39d727..78d830555f1a 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java @@ -95,7 +95,7 @@ public static final class MaxOutstandingRequestBytesReachedException public MaxOutstandingRequestBytesReachedException(long currentMaxBytes) { super( String.format( - "The maximum number of batch bytes: %d have been reached.", currentMaxBytes)); + "The maximum number of batch bytes: %d has been reached.", currentMaxBytes)); this.currentMaxBytes = currentMaxBytes; } From 36db8f215988f3d9a7faa13d16b8d3155ac515c7 Mon Sep 17 00:00:00 2001 From: Niranjan Kumar Date: Fri, 14 Aug 2026 20:36:41 +0530 Subject: [PATCH 6/9] Update sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../java/com/google/api/gax/batching/FlowControllerTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java index a66076b98677..91165ca42501 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java @@ -780,7 +780,7 @@ void testExceptionGetMessage() { FlowController.MaxOutstandingElementCountReachedException elementException = new FlowController.MaxOutstandingElementCountReachedException(100); assertThat(elementException.getMessage()) - .isEqualTo("The maximum number of batch elements: 100 have been reached."); + .isEqualTo("The maximum number of batch elements: 100 has been reached."); FlowController.MaxOutstandingRequestBytesReachedException bytesException = new FlowController.MaxOutstandingRequestBytesReachedException(500); From e7a87638ba50d96778d242b42bfa5e27119f8464 Mon Sep 17 00:00:00 2001 From: Niranjan Kumar Date: Fri, 14 Aug 2026 20:36:52 +0530 Subject: [PATCH 7/9] Update sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../java/com/google/api/gax/batching/FlowControllerTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java index 91165ca42501..b377e3aad4ef 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java @@ -785,7 +785,7 @@ void testExceptionGetMessage() { FlowController.MaxOutstandingRequestBytesReachedException bytesException = new FlowController.MaxOutstandingRequestBytesReachedException(500); assertThat(bytesException.getMessage()) - .isEqualTo("The maximum number of batch bytes: 500 have been reached."); + .isEqualTo("The maximum number of batch bytes: 500 has been reached."); } } From c29d9e319243e43f99294a88884c85a73203f5f5 Mon Sep 17 00:00:00 2001 From: Niranjan Kumar Date: Fri, 14 Aug 2026 20:39:12 +0530 Subject: [PATCH 8/9] Update sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- .../java/com/google/api/gax/batching/FlowControllerTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java index b377e3aad4ef..a0062719730c 100644 --- a/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java +++ b/sdk-platform-java/gax-java/gax/src/test/java/com/google/api/gax/batching/FlowControllerTest.java @@ -776,7 +776,7 @@ private List> testConcurrentUpdates( } @Test - void testExceptionGetMessage() { + public void testExceptionGetMessage() { FlowController.MaxOutstandingElementCountReachedException elementException = new FlowController.MaxOutstandingElementCountReachedException(100); assertThat(elementException.getMessage()) From 730a949c443f86ed3aa111bd94ad4a97b5947a51 Mon Sep 17 00:00:00 2001 From: NiranjanKumar001 Date: Fri, 14 Aug 2026 21:18:44 +0530 Subject: [PATCH 9/9] refactor: remove unused no-arg constructor and replace String.format with concatenation --- .../com/google/api/gax/batching/FlowController.java | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java index 78d830555f1a..b06b26eed6f2 100644 --- a/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java +++ b/sdk-platform-java/gax-java/gax/src/main/java/com/google/api/gax/batching/FlowController.java @@ -42,8 +42,6 @@ public class FlowController { /** Base exception that signals a flow control state. */ public abstract static class FlowControlException extends Exception { - private FlowControlException() {} - private FlowControlException(String message) { super(message); } @@ -72,10 +70,7 @@ public static final class MaxOutstandingElementCountReachedException private final long currentMaxElementCount; public MaxOutstandingElementCountReachedException(long currentMaxElementCount) { - super( - String.format( - "The maximum number of batch elements: %d has been reached.", - currentMaxElementCount)); + super("The maximum number of batch elements: " + currentMaxElementCount + " has been reached."); this.currentMaxElementCount = currentMaxElementCount; } @@ -93,9 +88,7 @@ public static final class MaxOutstandingRequestBytesReachedException private final long currentMaxBytes; public MaxOutstandingRequestBytesReachedException(long currentMaxBytes) { - super( - String.format( - "The maximum number of batch bytes: %d has been reached.", currentMaxBytes)); + super("The maximum number of batch bytes: " + currentMaxBytes + " has been reached."); this.currentMaxBytes = currentMaxBytes; }