Skip to content

Commit 3672e14

Browse files
ASP-2043: Add serviceConfig support to GrpcChannelConfig for gRPC built-in retry
- Add optional serviceConfig field to GrpcChannelConfig - Wire defaultServiceConfig() + enableRetry() in GrpcChannelRegistry when serviceConfig is set Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> AI-Session-Id: 75f3864c-dc2c-4e44-b4f3-b23c980f2ea6 AI-Tool: claude-code AI-Model: unknown
1 parent f236b97 commit 3672e14

2 files changed

Lines changed: 6 additions & 0 deletions

File tree

grpc-client-utils/src/main/java/org/hypertrace/core/grpcutils/client/GrpcChannelConfig.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import io.grpc.ClientInterceptor;
44
import java.util.List;
5+
import java.util.Map;
56
import lombok.Builder;
67
import lombok.Singular;
78
import lombok.Value;
@@ -12,4 +13,6 @@ public class GrpcChannelConfig {
1213
Integer maxInboundMessageSize;
1314

1415
@Singular List<ClientInterceptor> clientInterceptors;
16+
17+
Map<String, Object> serviceConfig;
1518
}

grpc-client-utils/src/main/java/org/hypertrace/core/grpcutils/client/GrpcChannelRegistry.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,9 @@ protected ManagedChannel configureAndBuildChannel(
9090
if (config.getMaxInboundMessageSize() != null) {
9191
builder.maxInboundMessageSize(config.getMaxInboundMessageSize());
9292
}
93+
if (config.getServiceConfig() != null) {
94+
builder.defaultServiceConfig(config.getServiceConfig()).enableRetry();
95+
}
9396
this.registryConfig.getDefaultInterceptors().forEach(builder::intercept);
9497
return builder.intercept(config.getClientInterceptors()).build();
9598
}

0 commit comments

Comments
 (0)