diff --git a/src/main/kotlin/io/emeraldpay/dshackle/Defaults.kt b/src/main/kotlin/io/emeraldpay/dshackle/Defaults.kt index fe9bc976..47870b00 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/Defaults.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/Defaults.kt @@ -21,6 +21,7 @@ import java.time.Duration class Defaults { companion object { + const val maxMessageSize: Int = 32 * 1024 * 1024 val timeout: Duration = Duration.ofSeconds(60) val timeoutInternal: Duration = timeout.dividedBy(4) val retryConnection: Duration = Duration.ofSeconds(10) diff --git a/src/main/kotlin/io/emeraldpay/dshackle/GrpcServer.kt b/src/main/kotlin/io/emeraldpay/dshackle/GrpcServer.kt index 7c9e1e53..cb558725 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/GrpcServer.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/GrpcServer.kt @@ -46,7 +46,7 @@ open class GrpcServer( log.info("Listening Native gRPC on ${mainConfig.host}:${mainConfig.port}") val serverBuilder = NettyServerBuilder .forAddress(InetSocketAddress(mainConfig.host, mainConfig.port)) - .maxInboundMessageSize(Int.MAX_VALUE) + .maxInboundMessageSize(Defaults.maxMessageSize) .let { if (mainConfig.accessLogConfig.enabled) { it.intercept(accessHandler) diff --git a/src/main/kotlin/io/emeraldpay/dshackle/upstream/grpc/GrpcUpstreams.kt b/src/main/kotlin/io/emeraldpay/dshackle/upstream/grpc/GrpcUpstreams.kt index 588d5fdd..ffae18e8 100644 --- a/src/main/kotlin/io/emeraldpay/dshackle/upstream/grpc/GrpcUpstreams.kt +++ b/src/main/kotlin/io/emeraldpay/dshackle/upstream/grpc/GrpcUpstreams.kt @@ -71,7 +71,7 @@ class GrpcUpstreams( fun start(): Flux { val chanelBuilder = NettyChannelBuilder.forAddress(host, port) // some messages are very large. many of them in megabytes, some even in gigabytes (ex. ETH Traces) - .maxInboundMessageSize(Int.MAX_VALUE) + .maxInboundMessageSize(Defaults.maxMessageSize) .enableRetry() .maxRetryAttempts(3) if (auth != null && StringUtils.isNotEmpty(auth.ca)) {