Skip to content

Commit fa3a3c3

Browse files
Addressed comments
1 parent 04ed487 commit fa3a3c3

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

grpc-circuitbreaker-utils/src/main/java/org/hypertrace/circuitbreaker/grpcutils/resilience/ResilienceCircuitBreakerInterceptor.java

+7
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,13 @@ public void start(Listener<RespT> responseListener, Metadata headers) {
6262
public void sendMessage(ReqT message) {
6363
CircuitBreakerConfiguration<ReqT> config =
6464
(CircuitBreakerConfiguration<ReqT>) circuitBreakerConfiguration;
65+
// Type check for message class compatibility
66+
if (config.getRequestClass() != null && !config.getRequestClass().isInstance(message)) {
67+
throw new IllegalArgumentException(
68+
String.format(
69+
"Message type mismatch: Expected %s but received %s",
70+
config.getRequestClass().getName(), message.getClass().getName()));
71+
}
6572
if (config.getKeyFunction() == null) {
6673
log.debug("Circuit breaker will apply to all requests as keyFunction config is not set");
6774
circuitBreakerKey = config.getDefaultCircuitBreakerKey();

0 commit comments

Comments
 (0)