From 48be5924febd1ce50d92e508e0a2bfcdec36d550 Mon Sep 17 00:00:00 2001 From: Aaron Steinfeld Date: Thu, 30 May 2024 17:51:50 -0400 Subject: [PATCH] chore: add timeout verifying client interceptor --- .../TimeoutVerifyingClientInterceptor.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 grpc-client-utils/src/main/java/org/hypertrace/core/grpcutils/client/TimeoutVerifyingClientInterceptor.java diff --git a/grpc-client-utils/src/main/java/org/hypertrace/core/grpcutils/client/TimeoutVerifyingClientInterceptor.java b/grpc-client-utils/src/main/java/org/hypertrace/core/grpcutils/client/TimeoutVerifyingClientInterceptor.java new file mode 100644 index 0000000..f971bbc --- /dev/null +++ b/grpc-client-utils/src/main/java/org/hypertrace/core/grpcutils/client/TimeoutVerifyingClientInterceptor.java @@ -0,0 +1,24 @@ +package org.hypertrace.core.grpcutils.client; + +import static java.util.Objects.isNull; + +import io.grpc.CallOptions; +import io.grpc.Channel; +import io.grpc.ClientCall; +import io.grpc.ClientInterceptor; +import io.grpc.MethodDescriptor; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class TimeoutVerifyingClientInterceptor implements ClientInterceptor { + + @Override + public ClientCall interceptCall( + MethodDescriptor methodDescriptor, CallOptions callOptions, Channel channel) { + if (isNull(callOptions.getDeadline())) { + log.warn("Missing deadline for call to method {}", methodDescriptor.getFullMethodName()); + } + + return channel.newCall(methodDescriptor, callOptions); + } +}