This is an automated email from the ASF dual-hosted git repository.

lianetm pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/trunk by this push:
     new a1703e2cca7 KAFKA-17040: Removing exception on further calls to 
terminated telemetry reporter (#18143)
a1703e2cca7 is described below

commit a1703e2cca718ef65efe530712cd9657748ea625
Author: Apoorv Mittal <[email protected]>
AuthorDate: Wed Dec 11 20:47:45 2024 +0000

    KAFKA-17040: Removing exception on further calls to terminated telemetry 
reporter (#18143)
    
    Reviewers: Lianet Magrans <[email protected]>
---
 .../kafka/common/telemetry/internals/ClientTelemetryReporter.java     | 4 ++++
 .../kafka/common/telemetry/internals/ClientTelemetryReporterTest.java | 3 +--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/clients/src/main/java/org/apache/kafka/common/telemetry/internals/ClientTelemetryReporter.java
 
b/clients/src/main/java/org/apache/kafka/common/telemetry/internals/ClientTelemetryReporter.java
index 91df6b8aac5..705aafaaa70 100644
--- 
a/clients/src/main/java/org/apache/kafka/common/telemetry/internals/ClientTelemetryReporter.java
+++ 
b/clients/src/main/java/org/apache/kafka/common/telemetry/internals/ClientTelemetryReporter.java
@@ -342,6 +342,10 @@ public class ClientTelemetryReporter implements 
MetricsReporter {
                     timeMs = Long.MAX_VALUE;
                     log.trace("For telemetry state {}, returning the value {} 
ms; the terminating push is in progress, disabling telemetry for further 
requests", localState, timeMs);
                     break;
+                case TERMINATED:
+                    timeMs = Long.MAX_VALUE;
+                    log.trace("For telemetry state {}, returning the value {} 
ms; telemetry is terminated, no further requests will be made", localState, 
timeMs);
+                    break;
                 case TERMINATING_PUSH_NEEDED:
                     timeMs = 0;
                     log.trace("For telemetry state {}, returning the value {} 
ms; the client should try to submit the final {} network API request ASAP 
before closing", localState, timeMs, ApiKeys.PUSH_TELEMETRY.name);
diff --git 
a/clients/src/test/java/org/apache/kafka/common/telemetry/internals/ClientTelemetryReporterTest.java
 
b/clients/src/test/java/org/apache/kafka/common/telemetry/internals/ClientTelemetryReporterTest.java
index 066e9ff74de..b708b4eeb60 100644
--- 
a/clients/src/test/java/org/apache/kafka/common/telemetry/internals/ClientTelemetryReporterTest.java
+++ 
b/clients/src/test/java/org/apache/kafka/common/telemetry/internals/ClientTelemetryReporterTest.java
@@ -63,7 +63,6 @@ import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
 
@@ -238,7 +237,7 @@ public class ClientTelemetryReporterTest {
         assertEquals(Long.MAX_VALUE, telemetrySender.timeToNextUpdate(100));
 
         
assertTrue(telemetrySender.maybeSetState(ClientTelemetryState.TERMINATED));
-        assertThrows(IllegalStateException.class, () -> 
telemetrySender.timeToNextUpdate(100));
+        assertEquals(Long.MAX_VALUE, telemetrySender.timeToNextUpdate(100));
     }
 
     @Test

Reply via email to