项目在本地运行不会出现问题,但项目部署后运行经常出现 Redisson 异常的问题
Redis使用的是5版本
这些报错好像都是由redis连接池问题导致的,但是我没有找到项目里面在哪里配置
具体报错如下:
2025-05-23 09:34:40.877 | [31m WARN 74901[0;39m | [1;33mredisson-netty-2-16 [TID: N/A][0;39m [1;32mo.s.b.a.r.RedisReactiveHealthIndicator [0;39m | Redis health check failed
org.springframework.data.redis.RedisSystemException: Unable to write command into connection! Increase connection pool size. Node source: NodeSource [slot=0, addr=null, redisClient=null, redirect=null, entry=null], connection: RedisConnection@554892476 [redisClient=[addr=redis://10.10.50.189:6379], channel=[id: 0xc87a0327, L:/10.10.50.143:34692 ! R:10.10.50.189/10.10.50.189:6379], currentCommand=null, usage=1], command: (INFO), params: [server] after 3 retry attempts; nested exception is org.redisson.client.WriteRedisConnectionException: Unable to write command into connection! Increase connection pool size. Node source: NodeSource [slot=0, addr=null, redisClient=null, redirect=null, entry=null], connection: RedisConnection@554892476 [redisClient=[addr=redis://10.10.50.189:6379], channel=[id: 0xc87a0327, L:/10.10.50.143:34692 ! R:10.10.50.189/10.10.50.189:6379], currentCommand=null, usage=1], command: (INFO), params: [server] after 3 retry attempts
at org.redisson.spring.data.connection.RedissonBaseReactive.lambda$read$5(RedissonBaseReactive.java:91)
at reactor.core.publisher.Mono.lambda$onErrorMap$31(Mono.java:3811)
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:94)
at reactor.core.publisher.MonoNext$NextSubscriber.onError(MonoNext.java:93)
at reactor.core.publisher.FluxCreate$BaseSink.error(FluxCreate.java:477)
at reactor.core.publisher.FluxCreate$BufferAsyncSink.drain(FluxCreate.java:866)
at reactor.core.publisher.FluxCreate$BufferAsyncSink.error(FluxCreate.java:811)
at reactor.core.publisher.FluxCreate$SerializedFluxSink.drainLoop(FluxCreate.java:237)
at reactor.core.publisher.FluxCreate$SerializedFluxSink.drain(FluxCreate.java:213)
at reactor.core.publisher.FluxCreate$SerializedFluxSink.error(FluxCreate.java:189)
at org.redisson.reactive.CommandReactiveService.lambda$reactive$1(CommandReactiveService.java:60)
at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774)
at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750)
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1990)
at org.redisson.command.RedisExecutor.handleError(RedisExecutor.java:554)
at org.redisson.command.RedisExecutor.handleResult(RedisExecutor.java:536)
at org.redisson.command.RedisExecutor.checkAttemptPromise(RedisExecutor.java:524)
at org.redisson.command.RedisExecutor.lambda$execute$4(RedisExecutor.java:176)
at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774)
at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750)
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1990)
at org.redisson.command.RedisExecutor.checkWriteFuture(RedisExecutor.java:327)
at org.redisson.command.RedisExecutor.lambda$execute$2(RedisExecutor.java:169)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590)
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:557)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492)
at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636)
at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:629)
at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:118)
at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetFailure(AbstractChannel.java:999)
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(AbstractChannel.java:860)
at io.netty.channel.DefaultChannelPipeline$HeadContext.write(DefaultChannelPipeline.java:1367)
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:877)
at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:940)
at io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1247)
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:750)
还有一种报错是:
org.springframework.data.redis.RedisConnectionFalureException: Unable to write command into connection! increase connection poolsize, Node source: Nodesource slot=0, addrenul. rediscient=nul, redirectenull, entnenul, connection: Redisconnection@392743406lredisClient=laddr=redis:/1010.50189:6379], channel=lid: 0xd53db4b7, L:10.10.50143:59856 ! R:1010 .50.189/1010.50189:6379].currentCommandnul. usade=1, command: (GET, params: l11. 97. 17. 16. 104 50.95. 97. 99, 99.. after 3 retny attempts. nestedexception is ora.redisson.client.WriteRedisConnectionException: Unable to write command into connection! increase connection poolsize. Node source: NodeSource lslot=0, addr=nul,redisclient=null, redirect=nul, entry=null, connection: RedisConnection@392743406[redisclient=laddr=redis:/10.10.50.189:6379], channel=lid: 0xd53db4b7, L:/1010.50.143:59856 ! R:1010.50.189/10.10.50.189:6379]currentCommand=戇聪ul, usage=1l, command: (GET), params: [11,97, 117, 116, 104, 50,95, 97, 99, 99,.l after 3 retry attemptsat org.redisson.spring.data.connection.RedissonExceptionConverter.convertlRedissonExceptionConverter.java:40)at org.redisson.spring.data.connection.RedissonExceptionConverter.convert(RedissonExceptionConverter.java:35)at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44)
本地不会,线上有问题的话,可能是连接数问题