Skip to content

Commit 4e010fa

Browse files
authored
Add optional maxConnectionAge and maxConnectionAgeGrace support to G… (#143)
* Add optional maxConnectionAge and maxConnectionAgeGrace support to GrpcPlatformServerDefinition AI-Session-Id: c5dae67b-13fb-4369-80af-7b15a26bfbdf AI-Tool: claude-code AI-Model: unknown * Change maxConnectionAge fields from seconds to Duration
1 parent c895f47 commit 4e010fa

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

platform-grpc-service-framework/src/main/java/org/hypertrace/core/serviceframework/grpc/GrpcPlatformServerDefinition.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.hypertrace.core.serviceframework.grpc;
22

33
import io.grpc.ServerInterceptor;
4+
import java.time.Duration;
45
import java.util.Collection;
56
import java.util.List;
67
import lombok.AccessLevel;
@@ -17,6 +18,8 @@ public class GrpcPlatformServerDefinition {
1718
int port;
1819
int maxInboundMessageSize;
1920
@Builder.Default int maxRstPerMinute = 500;
21+
@Builder.Default Duration maxConnectionAge = Duration.ZERO;
22+
@Builder.Default Duration maxConnectionAgeGrace = Duration.ZERO;
2023
@Singular Collection<GrpcPlatformServiceFactory> serviceFactories;
2124
@Singular List<ServerInterceptor> serverInterceptors;
2225
}

platform-grpc-service-framework/src/main/java/org/hypertrace/core/serviceframework/grpc/GrpcPlatformServiceContainer.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,13 @@ private ServerBuilder<?> initializeBuilder(GrpcPlatformServerDefinition serverDe
286286
if (serverDefinition.getMaxRstPerMinute() > 0) {
287287
builder.maxRstFramesPerWindow(serverDefinition.getMaxRstPerMinute(), 60);
288288
}
289+
if (!serverDefinition.getMaxConnectionAge().isZero()) {
290+
builder.maxConnectionAge(serverDefinition.getMaxConnectionAge().toMillis(), MILLISECONDS);
291+
}
292+
if (!serverDefinition.getMaxConnectionAgeGrace().isZero()) {
293+
builder.maxConnectionAgeGrace(
294+
serverDefinition.getMaxConnectionAgeGrace().toMillis(), MILLISECONDS);
295+
}
289296
// add micrometer-grpc interceptor to collect server metrics.
290297
builder.intercept(
291298
new MetricCollectingServerInterceptor(

0 commit comments

Comments
 (0)