[ISSUE #10510] Add gRPC server permit keepalive configuration (#10516)

This commit is contained in:
RockteMQ-AI
2026-06-15 16:43:51 +08:00
committed by GitHub
parent b4d92c06b7
commit 7347c44b06
2 changed files with 21 additions and 1 deletions
@@ -156,6 +156,8 @@ public class ProxyConfig implements ConfigFile {
private long grpcClientConsumerMaxLongPollingTimeoutMillis = Duration.ofSeconds(20).toMillis();
private int grpcClientConsumerLongPollingBatchSize = 32;
private long grpcClientIdleTimeMills = Duration.ofSeconds(120).toMillis();
private long grpcServerPermitKeepAliveTimeMillis = 30000;
private boolean grpcServerPermitKeepAliveWithoutCalls = true;
private int channelExpiredInSeconds = 60;
private int contextExpiredInSeconds = 30;
@@ -1221,6 +1223,22 @@ public class ProxyConfig implements ConfigFile {
this.grpcClientIdleTimeMills = grpcClientIdleTimeMills;
}
public long getGrpcServerPermitKeepAliveTimeMillis() {
return grpcServerPermitKeepAliveTimeMillis;
}
public void setGrpcServerPermitKeepAliveTimeMillis(long grpcServerPermitKeepAliveTimeMillis) {
this.grpcServerPermitKeepAliveTimeMillis = grpcServerPermitKeepAliveTimeMillis;
}
public boolean isGrpcServerPermitKeepAliveWithoutCalls() {
return grpcServerPermitKeepAliveWithoutCalls;
}
public void setGrpcServerPermitKeepAliveWithoutCalls(boolean grpcServerPermitKeepAliveWithoutCalls) {
this.grpcServerPermitKeepAliveWithoutCalls = grpcServerPermitKeepAliveWithoutCalls;
}
public String getRegionId() {
return regionId;
}
@@ -78,7 +78,9 @@ public class GrpcServerBuilder {
}
serverBuilder.maxInboundMessageSize(maxInboundMessageSize)
.maxConnectionIdle(idleTimeMills, TimeUnit.MILLISECONDS);
.maxConnectionIdle(idleTimeMills, TimeUnit.MILLISECONDS)
.permitKeepAliveTime(config.getGrpcServerPermitKeepAliveTimeMillis(), TimeUnit.MILLISECONDS)
.permitKeepAliveWithoutCalls(config.isGrpcServerPermitKeepAliveWithoutCalls());
log.info("grpc server has built. port: {}, bossLoopNum: {}, workerLoopNum: {}, maxInboundMessageSize: {}",
port, bossLoopNum, workerLoopNum, maxInboundMessageSize);