-
Notifications
You must be signed in to change notification settings - Fork 5.5k
3.11.2 Caused by: io.netty.channel.StacklessClosedChannelException: null #4410
Description
redisson version: 3.11.2
redisson config:
singleServerConfig:
address: "redis://127.0.0.1:6379"
password: null
clientName: null
database: 0
idleConnectionTimeout: 10000
pingTimeout: 1000
connectTimeout: 10000
timeout: 3000
retryAttempts: 3
retryInterval: 1500
reconnectionTimeout: 3000
failedAttempts: 3
subscriptionsPerConnection: 5
subscriptionConnectionMinimumIdleSize: 1
subscriptionConnectionPoolSize: 50
connectionMinimumIdleSize: 32
connectionPoolSize: 3000
dnsMonitoringInterval: 5000
threads: 80
nettyThreads: 60
when we used redisson to addlock,the following errors were encountered
2022-07-11 08:28:32,952 i-C38365BB ERROR [90831.c2c445d.275.9688] [rc] io.iec.edp.caf.commons.exception.handler.ExceptionLogger [https-jsse-nio-5200-exec-5] Unable to send command! Node source: NodeSource [slot=0, addr=null, redisClient=null, redirect=null, entry=MasterSlaveEntry [masterEntry=[freeSubscribeConnectionsAmount=0, freeSubscribeConnectionsCounter=value:49:queue:0, freeConnectionsAmount=28, freeConnectionsCounter=value:2996:queue:0, freezed=false, freezeReason=null, client=[addr=redis://127.0.0.1:6379], nodeType=MASTER, firstFail=0]]], connection: RedisConnection@583039672 [redisClient=[addr=redis://127.0.0.1:6379], channel=[id: 0xaa884b89, L:/127.0.0.1:58094 ! R:127.0.0.1/127.0.0.1:6379], currentCommand=null], command: (EVAL), params: [if (redis.call('exists', KEYS[1]) == 0) then redis.call('hset', KEYS[1], ARGV[2], 1); redis.call('pe..., 1, 10000-barc-manager-0f3ac37a-0449-40eb-87e4-3e8576929c7c, 20000, 1d447097-835a-47f3-b4d7-d0d4b79a46ad:275] after 3 retry attempts
org.redisson.client.WriteRedisConnectionException: Unable to send command! Node source: NodeSource [slot=0, addr=null, redisClient=null, redirect=null, entry=MasterSlaveEntry [masterEntry=[freeSubscribeConnectionsAmount=0, freeSubscribeConnectionsCounter=value:49:queue:0, freeConnectionsAmount=28, freeConnectionsCounter=value:2996:queue:0, freezed=false, freezeReason=null, client=[addr=redis://127.0.0.1:6379], nodeType=MASTER, firstFail=0]]], connection: RedisConnection@583039672 [redisClient=[addr=redis://127.0.0.1:6379], channel=[id: 0xaa884b89, L:/127.0.0.1:58094 ! R:127.0.0.1/127.0.0.1:6379], currentCommand=null], command: (EVAL), params: [if (redis.call('exists', KEYS[1]) == 0) then redis.call('hset', KEYS[1], ARGV[2], 1); redis.call('pe..., 1, 10000-barc-manager-0f3ac37a-0449-40eb-87e4-3e8576929c7c, 20000, 1d447097-835a-47f3-b4d7-d0d4b79a46ad:275] after 3 retry attempts
at org.redisson.command.CommandAsyncService.checkWriteFuture(CommandAsyncService.java:884)
at org.redisson.command.CommandAsyncService.access$000(CommandAsyncService.java:98)
at org.redisson.command.CommandAsyncService$7.operationComplete(CommandAsyncService.java:803)
at org.redisson.command.CommandAsyncService$7.operationComplete(CommandAsyncService.java:800)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:578)
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:552)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:491)
at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:616)
at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:609)
at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:117)
at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetFailure(AbstractChannel.java:1017)
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(AbstractChannel.java:878)
at io.netty.channel.DefaultChannelPipeline$HeadContext.write(DefaultChannelPipeline.java:1367)
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717)
at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764)
at io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1071)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
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:748)
Caused by: io.netty.channel.StacklessClosedChannelException: null
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source)
The network is ok. When I use redis-cli to set a value, it is ok.
But when I use redisson api,such as
RLock redLock = getClient(this.redissonConfig).getLock("10000-barc-manager-0f3ac37a-0449-40eb-87e4-3e8576929c7c");
redLock.lock(100, TimeUnit.SECONDS);
it doest not work and the following errors are encountered.
2022-07-11 08:28:32,952 i-C38365BB ERROR [90831.c2c445d.275.9688] [rc] io.iec.edp.caf.commons.exception.handler.ExceptionLogger [https-jsse-nio-5200-exec-5] Unable to send command! Node source: NodeSource [slot=0, addr=null, redisClient=null, redirect=null, entry=MasterSlaveEntry [masterEntry=[freeSubscribeConnectionsAmount=0, freeSubscribeConnectionsCounter=value:49:queue:0, freeConnectionsAmount=28, freeConnectionsCounter=value:2996:queue:0, freezed=false, freezeReason=null, client=[addr=redis://127.0.0.1:6379], nodeType=MASTER, firstFail=0]]], connection: RedisConnection@583039672 [redisClient=[addr=redis://127.0.0.1:6379], channel=[id: 0xaa884b89, L:/127.0.0.1:58094 ! R:127.0.0.1/127.0.0.1:6379], currentCommand=null], command: (EVAL), params: [if (redis.call('exists', KEYS[1]) == 0) then redis.call('hset', KEYS[1], ARGV[2], 1); redis.call('pe..., 1, 10000-barc-manager-0f3ac37a-0449-40eb-87e4-3e8576929c7c, 20000, 1d447097-835a-47f3-b4d7-d0d4b79a46ad:275] after 3 retry attempts
org.redisson.client.WriteRedisConnectionException: Unable to send command! Node source: NodeSource [slot=0, addr=null, redisClient=null, redirect=null, entry=MasterSlaveEntry [masterEntry=[freeSubscribeConnectionsAmount=0, freeSubscribeConnectionsCounter=value:49:queue:0, freeConnectionsAmount=28, freeConnectionsCounter=value:2996:queue:0, freezed=false, freezeReason=null, client=[addr=redis://127.0.0.1:6379], nodeType=MASTER, firstFail=0]]], connection: RedisConnection@583039672 [redisClient=[addr=redis://127.0.0.1:6379], channel=[id: 0xaa884b89, L:/127.0.0.1:58094 ! R:127.0.0.1/127.0.0.1:6379], currentCommand=null], command: (EVAL), params: [if (redis.call('exists', KEYS[1]) == 0) then redis.call('hset', KEYS[1], ARGV[2], 1); redis.call('pe..., 1, 10000-barc-manager-0f3ac37a-0449-40eb-87e4-3e8576929c7c, 20000, 1d447097-835a-47f3-b4d7-d0d4b79a46ad:275] after 3 retry attempts
at org.redisson.command.CommandAsyncService.checkWriteFuture(CommandAsyncService.java:884)
at org.redisson.command.CommandAsyncService.access$000(CommandAsyncService.java:98)
at org.redisson.command.CommandAsyncService$7.operationComplete(CommandAsyncService.java:803)
at org.redisson.command.CommandAsyncService$7.operationComplete(CommandAsyncService.java:800)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:578)
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:552)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:491)
at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:616)
at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:609)
at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:117)
at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetFailure(AbstractChannel.java:1017)
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(AbstractChannel.java:878)
at io.netty.channel.DefaultChannelPipeline$HeadContext.write(DefaultChannelPipeline.java:1367)
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717)
at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764)
at io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1071)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:469)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)
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:748)
Caused by: io.netty.channel.StacklessClosedChannelException: null
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source)