0

I am using a redis cluster of node type m5.4x large with 1 node , in-order to cache some results. The writes to this redis node is very frequent. And I could see that intermittently the writes to cluster fails.

Below is the stack trace we see in logs for the failure.

org.redisson.client.WriteRedisConnectionException: Unable to send command! Node source: NodeSource[slot=null,addr=null,redisClient=null,redirect=null,entry=org.redisson.connection.MasterSlaveEntry@6608962a], connection: [id: 0xbad70cba, L:0.0.0.0/0.0.0.0:47904], command: (EVAL),params: [local insertable = false; local value = redis.call('hget',KEYS[1], ARGV[5]); local t, val;if value ..., 8, SEARCH_CACHE, redisson__timeout__set:{SEARCH_CACHE}, redisson__idle__set:{SEARCH_CACHE}, redisson_map_cache_created:{SEARCH_CACHE}, redisson_map_cache_updated:{SEARCH_CACHE}, redisson__map_cache__last_access__set:{SEARCH_CACHE}, redisson_map_cache_removed:{SEARCH_CACHE}, {SEARCH_CACHE}:redisson_options, ...] at org.redisson.command.CommandAsyncService.checkWriteFuture(CommandAsyncService.java:675) at org.redisson.command.CommandAsyncService.access$100(CommandAsyncService.java:84) at org.redisson.command.CommandAsyncService$9$1.operationComplete(CommandAsyncService.java:638) at org.redisson.command.CommandAsyncService$9$1.operationComplete(CommandAsyncService.java:635) at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511) at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485) at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:121) at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetFailure(AbstractChannel.java:987) at io.netty.channel.AbstractChannel$AbstractUnsafe.write(AbstractChannel.java:869) at io.netty.channel.DefaultChannelPipeline$HeadContext.write(DefaultChannelPipeline.java:1371) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) at io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:38) at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:1081) at io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:1128) at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:1070) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Thread.java:745) Caused by: java.nio.channels.ClosedChannelException at io.netty.channel.AbstractChannel$AbstractUnsafe.write(...)(Unknown Source)

I am using redisson client version 3.6.5. Can someone please help me to identify what is the issue?

Below is the configuration I have setup for redis cluster connection

  • idleConnectionTimeout: 1000
  • pingTimeout: 10000
  • connectTimeout: 10000
  • timeout: 30000
  • retryAttempts: 3
  • retryInterval: 1500
  • reconnectionTimeout: 30000
  • failedAttempts: 3
  • subscriptionsPerConnection: 5
  • slaveSubscriptionConnectionMinimumIdleSize: 1
  • slaveSubscriptionConnectionPoolSize: 50
  • slaveConnectionPoolSize: 250
  • masterConnectionMinimumIdleSize: 5
  • masterConnectionPoolSize: 250
LeoMurillo
  • 6,048
  • 1
  • 19
  • 34
  • _"writes to this redis node is very frequent"_ + _"intermittently the writes to cluster fails"_ Could just be an infrequent network blip or similar. Have you designed any fallbacks for when connections fail (eg trying again etc) – James Thorpe Dec 21 '18 at 11:40
  • hi Thank you for helping. Yes we have re-try mechanism for trying out 3 times.I will update the configurations of connection too in the question. Could you please help to figure out this ? – Sreyas Raju Dec 24 '18 at 03:11

0 Answers0