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

dongjoon pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/spark-kubernetes-operator.git


The following commit(s) were added to refs/heads/main by this push:
     new bb46c2f  [SPARK-53664] Update `updateResponseMetrics` to handle valid 
responses only
bb46c2f is described below

commit bb46c2fe0bc3af392900f106fbf281bdeab2a0cc
Author: Dongjoon Hyun <[email protected]>
AuthorDate: Mon Sep 22 12:37:37 2025 -0700

    [SPARK-53664] Update `updateResponseMetrics` to handle valid responses only
    
    ### What changes were proposed in this pull request?
    
    This PR aims to make `updateResponseMetrics` to handle valid responses only.
    
    ### Why are the changes needed?
    
    To simplify the method logic.
    
    ### Does this PR introduce _any_ user-facing change?
    
    No behavior change.
    
    ### How was this patch tested?
    
    Pass the CIs.
    
    ### Was this patch authored or co-authored using generative AI tooling?
    
    No.
    
    Closes #331 from dongjoon-hyun/SPARK-53664.
    
    Authored-by: Dongjoon Hyun <[email protected]>
    Signed-off-by: Dongjoon Hyun <[email protected]>
---
 .../metrics/source/KubernetesMetricsInterceptor.java | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git 
a/spark-operator/src/main/java/org/apache/spark/k8s/operator/metrics/source/KubernetesMetricsInterceptor.java
 
b/spark-operator/src/main/java/org/apache/spark/k8s/operator/metrics/source/KubernetesMetricsInterceptor.java
index 83b01ed..25c54d1 100644
--- 
a/spark-operator/src/main/java/org/apache/spark/k8s/operator/metrics/source/KubernetesMetricsInterceptor.java
+++ 
b/spark-operator/src/main/java/org/apache/spark/k8s/operator/metrics/source/KubernetesMetricsInterceptor.java
@@ -25,6 +25,7 @@ import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Optional;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ConcurrentHashMap;
@@ -129,7 +130,7 @@ public class KubernetesMetricsInterceptor implements 
Interceptor, Source {
   @Override
   public CompletableFuture<Boolean> afterFailure(
       BasicBuilder builder, HttpResponse<?> response, RequestTags tags) {
-    updateResponseMetrics(null, System.nanoTime());
+    requestFailedRateMeter.mark();
     return CompletableFuture.completedFuture(false);
   }
 
@@ -143,7 +144,7 @@ public class KubernetesMetricsInterceptor implements 
Interceptor, Source {
    */
   @Override
   public void afterConnectionFailure(HttpRequest request, Throwable failure) {
-    updateResponseMetrics(null, System.nanoTime());
+    requestFailedRateMeter.mark();
   }
 
   /**
@@ -181,16 +182,13 @@ public class KubernetesMetricsInterceptor implements 
Interceptor, Source {
   }
 
   private void updateResponseMetrics(HttpResponse response, long 
startTimeNanos) {
+    Objects.requireNonNull(response);
     final long latency = System.nanoTime() - startTimeNanos;
-    if (response != null) {
-      this.responseRateMeter.mark();
-      this.responseLatency.update(latency);
-      getMeterByResponseCode(response.code()).mark();
-      if 
(KUBERNETES_CLIENT_METRICS_GROUP_BY_RESPONSE_CODE_GROUP_ENABLED.getValue()) {
-        responseCodeGroupMeters.get(response.code() / 100 - 1).mark();
-      }
-    } else {
-      this.requestFailedRateMeter.mark();
+    responseRateMeter.mark();
+    responseLatency.update(latency);
+    getMeterByResponseCode(response.code()).mark();
+    if 
(KUBERNETES_CLIENT_METRICS_GROUP_BY_RESPONSE_CODE_GROUP_ENABLED.getValue()) {
+      responseCodeGroupMeters.get(response.code() / 100 - 1).mark();
     }
   }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to