New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redisson tries to write to a read-only slave #945

Closed
ravi1983 opened this Issue Jun 29, 2017 · 22 comments

Comments

5 participants
@ravi1983

ravi1983 commented Jun 29, 2017

I have a requirement where I need to read and write from only master, so that our application gets consistent data from Redis. At the same time, we need HA and automatic failover.

To satisfy above requirements, I am using Redis master-slave setup, with sentinel, and with read mode as MASTER. The issue I am facing is, Redisson tries to write to a read-only slave and Redis throws exception.

To reproduce the issue, perform following steps:

  1. Start Master_1 with Sentinel_1, and Slave_1 with Sentinel_2 (Redission performs all reads & writes against Master_1)
  2. Shutdown Master_1 (Slave_1 becomes master now, and Redission performs all reads & writes against Slave_1)
  3. Start Master_1 (Master_1 becomes read-only slave, but Redisson tries to insert data into Master_1)

Configuration and other details are as follows:

Maven dependency:

<dependency>
            <groupId>org.redisson</groupId>
            <artifactId>redisson</artifactId>
            <version>3.4.3</version>
</dependency>

Spring Redisson bean definition:

@Bean(destroyMethod = "shutdown")
	public RedissonClient redisson() throws IOException {
		Config config = new Config();
		config.useSentinelServers()
				.setMasterName("redis-cluster")
				.addSentinelAddress("redis://127.0.0.1:26179")
				.addSentinelAddress("redis://127.0.0.1:26381")
				.setReadMode(ReadMode.MASTER);

		RedissonClient redisson = Redisson.create(config);
		return redisson;
}

A test spring scheduled job that reads and writes dummy data:

@Component
public class OrderProcessorJob implements Job {

	@Autowired
	private OrderProcessorService se;

	@Autowired
	private RedissonClient rc;

	@Override
	public void execute(JobExecutionContext jc) throws JobExecutionException {
		// se.process();

		RMapCache<String, String> map = rc.getMapCache("123");
		try {
			map.fastPut("1", "2");
			String s = map.get("1");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

Spring log snippet:

2017-06-29 09:43:26.658  INFO 64974 --- [           main] org.redisson.Version                     : Redisson 3.4.3
2017-06-29 09:43:26.900  INFO 64974 --- [           main] o.r.c.SentinelConnectionManager          : master: redis://127.0.0.1:6381 added
2017-06-29 09:43:26.904  INFO 64974 --- [           main] o.r.c.SentinelConnectionManager          : slave: redis://127.0.0.1:6379 added
2017-06-29 09:43:26.923  INFO 64974 --- [isson-netty-1-7] o.r.c.pool.MasterConnectionPool          : 10 connections initialized for /127.0.0.1:6381
2017-06-29 09:43:26.931  INFO 64974 --- [sson-netty-1-11] o.r.c.SentinelConnectionManager          : sentinel: 127.0.0.1:26179 added
2017-06-29 09:43:26.931  INFO 64974 --- [sson-netty-1-10] o.r.c.SentinelConnectionManager          : sentinel: 127.0.0.1:26381 added
2017-06-29 09:43:26.993  INFO 64974 --- [           main] o.s.s.quartz.SchedulerFactoryBean        : Loading Quartz config from [class path resource [quartz.properties]]
2017-06-29 09:43:27.003  INFO 64974 --- [           main] org.quartz.impl.StdSchedulerFactory      : Using default implementation for ThreadExecutor
2017-06-29 09:43:27.008  INFO 64974 --- [           main] org.quartz.core.SchedulerSignalerImpl    : Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
2017-06-29 09:43:27.008  INFO 64974 --- [           main] org.quartz.core.QuartzScheduler          : Quartz Scheduler v.2.3.0 created.
2017-06-29 09:43:27.009  INFO 64974 --- [           main] org.quartz.simpl.RAMJobStore             : RAMJobStore initialized.
2017-06-29 09:43:27.009  INFO 64974 --- [           main] org.quartz.core.QuartzScheduler          : Scheduler meta-data: Quartz Scheduler (v2.3.0) 'scheduler' with instanceId 'NON_CLUSTERED'
  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
  NOT STARTED.
  Currently in standby mode.
  Number of jobs executed: 0
  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 1 threads.
  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.

2017-06-29 09:43:27.009  INFO 64974 --- [           main] org.quartz.impl.StdSchedulerFactory      : Quartz scheduler 'scheduler' initialized from an externally provided properties instance.
2017-06-29 09:43:27.009  INFO 64974 --- [           main] org.quartz.impl.StdSchedulerFactory      : Quartz scheduler version: 2.3.0
2017-06-29 09:43:27.009  INFO 64974 --- [           main] org.quartz.core.QuartzScheduler          : JobFactory set to: de.chandre.quartz.spring.AutowiringSpringBeanJobFactory@40298285
2017-06-29 09:43:27.217  INFO 64974 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@61009542: startup date [Thu Jun 29 09:43:25 CDT 2017]; root of context hierarchy
2017-06-29 09:43:27.260  INFO 64974 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)
2017-06-29 09:43:27.261  INFO 64974 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)
2017-06-29 09:43:27.281  INFO 64974 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-06-29 09:43:27.281  INFO 64974 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-06-29 09:43:27.306  INFO 64974 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]
2017-06-29 09:43:27.573  INFO 64974 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup
2017-06-29 09:43:27.579  INFO 64974 --- [           main] o.s.c.support.DefaultLifecycleProcessor  : Starting beans in phase 2147483647
2017-06-29 09:43:27.579  INFO 64974 --- [           main] o.s.s.quartz.SchedulerFactoryBean        : Starting Quartz Scheduler now
2017-06-29 09:43:27.579  INFO 64974 --- [           main] org.quartz.core.QuartzScheduler          : Scheduler scheduler_$_NON_CLUSTERED started.
2017-06-29 09:43:27.587  INFO 64974 --- [           main] o.e.j.s.h.ContextHandler.application     : Initializing Spring FrameworkServlet 'dispatcherServlet'
2017-06-29 09:43:27.587  INFO 64974 --- [           main] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2017-06-29 09:43:27.599  INFO 64974 --- [           main] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 12 ms
2017-06-29 09:43:27.615  INFO 64974 --- [           main] o.e.jetty.server.AbstractConnector       : Started ServerConnector@54e81b21{HTTP/1.1,[http/1.1]}{0.0.0.0:8090}
2017-06-29 09:43:27.617  INFO 64974 --- [           main] .s.b.c.e.j.JettyEmbeddedServletContainer : Jetty started on port(s) 8090 (http/1.1)
2017-06-29 09:43:27.621  INFO 64974 --- [           main] c.k.s.p.OrderProcessorApplication        : Started OrderProcessorApplication in 2.902 seconds (JVM running for 3.259)
org.redisson.client.RedisTimeoutException: Redis server response timeout (3000 ms) occured for command: (EVAL) with params: [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[2]); if v == false then inserta..., 5, 123, redisson__timeout__set:{123}, redisson__idle__set:{123}, redisson_map_cache_created:{123}, redisson_map_cache_updated:{123}, 1498747454972, [34, 49, 34], [34, 50, 34]] channel: [id: 0x041d1a59, L:/127.0.0.1:62642 - R:/127.0.0.1:6381]
	at org.redisson.command.CommandAsyncService$10.run(CommandAsyncService.java:646)
	at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
	at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
	at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
	at java.lang.Thread.run(Thread.java:745)
2017-06-29 09:44:20.430  INFO 64974 --- [  redisson-3-14] o.r.c.SentinelConnectionManager          : slave: 127.0.0.1:6381 has up
2017-06-29 09:44:20.431  INFO 64974 --- [  redisson-3-16] o.r.c.SentinelConnectionManager          : slave: 127.0.0.1:6381 has up
2017-06-29 09:44:20.438  INFO 64974 --- [isson-netty-1-4] o.r.c.pool.MasterConnectionPool          : 10 connections initialized for /127.0.0.1:6379
2017-06-29 09:44:20.438  INFO 64974 --- [  redisson-3-13] o.r.c.SentinelConnectionManager          : master redis://127.0.0.1:6381 changed to redis://127.0.0.1:6379
org.redisson.client.RedisTimeoutException: Redis server response timeout (3000 ms) occured for command: (EVAL) with params: [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[2]); if v == false then inserta..., 5, 123, redisson__timeout__set:{123}, redisson__idle__set:{123}, redisson_map_cache_created:{123}, redisson_map_cache_updated:{123}, 1498747458005, [34, 49, 34], [34, 50, 34]] channel: [id: 0x641bdb90, L:/127.0.0.1:62644 - R:/127.0.0.1:6381]
	at org.redisson.command.CommandAsyncService$10.run(CommandAsyncService.java:646)
	at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
	at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
	at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
	at java.lang.Thread.run(Thread.java:745)
2017-06-29 09:44:25.451  WARN 64974 --- [   redisson-3-4] o.r.c.SentinelConnectionManager          : slave: 127.0.0.1:6381 has down
2017-06-29 09:44:25.456  WARN 64974 --- [   redisson-3-3] o.r.c.SentinelConnectionManager          : slave: 127.0.0.1:6381 has down
2017-06-29 09:45:11.415  INFO 64974 --- [   redisson-3-2] o.r.c.SentinelConnectionManager          : slave: 127.0.0.1:6381 has up
2017-06-29 09:45:11.605  INFO 64974 --- [   redisson-3-1] o.r.c.SentinelConnectionManager          : slave: 127.0.0.1:6381 has up
org.redisson.client.RedisException: ERR Error running script (call to f_251ec2dd5ace5005169a1407c376c269a9838a5c): @user_script:1: @user_script: 1: -READONLY You can't write against a read only slave.   . channel: [id: 0xc6bb6b64, L:/127.0.0.1:63323 - R:/127.0.0.1:6381] command: CommandData [promise=org.redisson.misc.RedissonPromise@3c893d51[Not completed], command=(EVAL), params=[local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[2]); if v == false then inserta..., 5, 123, redisson__timeout__set:{123}, redisson__idle__set:{123}, redisson_map_cache_created:{123}, redisson_map_cache_updated:{123}, 1498747532973, [34, 49, 34], [34, 50, 34]], codec=org.redisson.codec.JsonJacksonCodec@6f240f43]
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:267)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:127)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:367)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)

As you can from see in above above logs, node 127.0.0.1:6381 joined as slave (but was master in the beginning). But Redisson tries to insert data into it.

Please let me know if I am doing anything wrong in my configuration, or this is a bug with Redisson.

@mrniko

This comment has been minimized.

Show comment
Hide comment
@mrniko

mrniko Jul 11, 2017

Member

Hi, I have tried to reproduce your issue, but didn't have any success.

Here is my code:

        Config config = new Config();
        config.useSentinelServers()
        .addSentinelAddress("redis://127.0.0.1:26379", "redis://127.0.0.1:26389")
        .setMasterName("mymaster")
        .setReadMode(ReadMode.MASTER);

        RedissonClient r = Redisson.create(config);
        for (int i = 0; i < 10000; i++) {
            try {
                r.getMap("test").put(i, i);
                r.getMap("test").get(i);
            } catch (Exception e) {
                e.printStackTrace();
            }
            Thread.sleep(100);
            System.out.println(i);
        }

Here is my log:

14:28:12 [main] INFO org.redisson.connection.SentinelConnectionManager - master: redis://127.0.0.1:6379 added
14:28:12 [main] INFO org.redisson.connection.SentinelConnectionManager - slave: redis://127.0.0.1:6389 added
14:28:12 [main] WARN org.redisson.connection.SentinelConnectionManager - slave: redis://127.0.0.1:6389 is down
14:28:12 [main] INFO org.redisson.connection.SentinelConnectionManager - slave: redis://127.0.0.1:6399 added
14:28:12 [redisson-netty-1-7] INFO org.redisson.connection.pool.MasterConnectionPool - 10 connections initialized for /127.0.0.1:6379
14:28:12 [redisson-netty-1-9] INFO org.redisson.connection.SentinelConnectionManager - sentinel: 127.0.0.1:26379 added
14:28:12 [redisson-netty-1-11] INFO org.redisson.connection.SentinelConnectionManager - sentinel: 127.0.0.1:26389 added
14:28:21 [redisson-netty-1-16] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0x84250208, L:/127.0.0.1:33849 - R:/127.0.0.1:6379]
14:28:21 [redisson-netty-1-11] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0x89a98dd8, L:/127.0.0.1:33846 - R:/127.0.0.1:6379]
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
14:28:21 [redisson-netty-1-6] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0x97666cd8, L:/127.0.0.1:33842 - R:/127.0.0.1:6379]
14:28:21 [redisson-netty-1-3] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0xe68ae636, L:/127.0.0.1:33848 - R:/127.0.0.1:6379]
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
14:28:21 [redisson-netty-1-4] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0x92b37961, L:/127.0.0.1:33841 - R:/127.0.0.1:6379]
14:28:21 [redisson-netty-1-7] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0xd717a1a8, L:/127.0.0.1:33843 - R:/127.0.0.1:6379]
14:28:21 [redisson-netty-1-8] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0x50fdd585, L:/127.0.0.1:33844 - R:/127.0.0.1:6379]
14:28:21 [redisson-netty-1-13] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0x516783bb, L:/127.0.0.1:33850 - R:/127.0.0.1:6379]
14:28:21 [redisson-netty-1-1] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0x99bff4de, L:/127.0.0.1:33847 - R:/127.0.0.1:6379]
14:28:21 [redisson-netty-1-9] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0x7525d163, L:/127.0.0.1:33845 - R:/127.0.0.1:6379]
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
14:28:24 [pool-1-thread-1] WARN org.redisson.connection.pool.MasterConnectionPool - host /127.0.0.1:6379 disconnected due to failedAttempts=3 limit reached
org.redisson.client.RedisConnectionException: MasterConnectionPool no available Redis entries.  Disconnected hosts: [/127.0.0.1:6379]
	at org.redisson.connection.pool.ConnectionPool.get(ConnectionPool.java:196)
	at org.redisson.connection.pool.MasterConnectionPool.get(MasterConnectionPool.java:1)
	at org.redisson.connection.MasterSlaveEntry.connectionWriteOp(MasterSlaveEntry.java:409)
	at org.redisson.connection.MasterSlaveConnectionManager.connectionWriteOp(MasterSlaveConnectionManager.java:708)
	at org.redisson.command.CommandAsyncService.async(CommandAsyncService.java:502)
	at org.redisson.command.CommandAsyncService$7.run(CommandAsyncService.java:551)
	at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
	at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
	at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
	at java.lang.Thread.run(Thread.java:745)
14:28:32 [redisson-3-14] INFO org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6389 has up
14:28:32 [redisson-3-14] INFO org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6379 has up
14:28:32 [redisson-3-16] INFO org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6389 has up
14:28:32 [redisson-3-16] INFO org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6379 has up
14:28:32 [redisson-3-13] INFO org.redisson.connection.SentinelConnectionManager - master redis://127.0.0.1:6379 changed to redis://127.0.0.1:6399
14:28:32 [redisson-netty-1-4] INFO org.redisson.connection.pool.MasterConnectionPool - 10 connections initialized for /127.0.0.1:6399
org.redisson.client.RedisConnectionException: MasterConnectionPool no available Redis entries.  Disconnected hosts: [/127.0.0.1:6379]
	at org.redisson.connection.pool.ConnectionPool.get(ConnectionPool.java:196)
	at org.redisson.connection.pool.MasterConnectionPool.get(MasterConnectionPool.java:1)
	at org.redisson.connection.MasterSlaveEntry.connectionWriteOp(MasterSlaveEntry.java:409)
	at org.redisson.connection.MasterSlaveConnectionManager.connectionWriteOp(MasterSlaveConnectionManager.java:708)
	at org.redisson.command.CommandAsyncService.async(CommandAsyncService.java:502)
	at org.redisson.command.CommandAsyncService$7.run(CommandAsyncService.java:551)
	at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
	at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
	at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
	at java.lang.Thread.run(Thread.java:745)
14:28:42 [redisson-3-1] WARN org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6379 has down
14:28:42 [redisson-3-1] WARN org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6389 has down
14:28:42 [redisson-3-2] WARN org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6379 has down
14:28:42 [redisson-3-2] WARN org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6389 has down
14:29:02 [redisson-3-3] INFO org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6379 has up
14:29:03 [redisson-3-4] INFO org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6379 has up

as you can see at the end of the log previous master node 127.0.0.1:6379 has joined as slave node and read operations are continued to execute correctly.

Member

mrniko commented Jul 11, 2017

Hi, I have tried to reproduce your issue, but didn't have any success.

Here is my code:

        Config config = new Config();
        config.useSentinelServers()
        .addSentinelAddress("redis://127.0.0.1:26379", "redis://127.0.0.1:26389")
        .setMasterName("mymaster")
        .setReadMode(ReadMode.MASTER);

        RedissonClient r = Redisson.create(config);
        for (int i = 0; i < 10000; i++) {
            try {
                r.getMap("test").put(i, i);
                r.getMap("test").get(i);
            } catch (Exception e) {
                e.printStackTrace();
            }
            Thread.sleep(100);
            System.out.println(i);
        }

Here is my log:

14:28:12 [main] INFO org.redisson.connection.SentinelConnectionManager - master: redis://127.0.0.1:6379 added
14:28:12 [main] INFO org.redisson.connection.SentinelConnectionManager - slave: redis://127.0.0.1:6389 added
14:28:12 [main] WARN org.redisson.connection.SentinelConnectionManager - slave: redis://127.0.0.1:6389 is down
14:28:12 [main] INFO org.redisson.connection.SentinelConnectionManager - slave: redis://127.0.0.1:6399 added
14:28:12 [redisson-netty-1-7] INFO org.redisson.connection.pool.MasterConnectionPool - 10 connections initialized for /127.0.0.1:6379
14:28:12 [redisson-netty-1-9] INFO org.redisson.connection.SentinelConnectionManager - sentinel: 127.0.0.1:26379 added
14:28:12 [redisson-netty-1-11] INFO org.redisson.connection.SentinelConnectionManager - sentinel: 127.0.0.1:26389 added
14:28:21 [redisson-netty-1-16] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0x84250208, L:/127.0.0.1:33849 - R:/127.0.0.1:6379]
14:28:21 [redisson-netty-1-11] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0x89a98dd8, L:/127.0.0.1:33846 - R:/127.0.0.1:6379]
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
14:28:21 [redisson-netty-1-6] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0x97666cd8, L:/127.0.0.1:33842 - R:/127.0.0.1:6379]
14:28:21 [redisson-netty-1-3] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0xe68ae636, L:/127.0.0.1:33848 - R:/127.0.0.1:6379]
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
14:28:21 [redisson-netty-1-4] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0x92b37961, L:/127.0.0.1:33841 - R:/127.0.0.1:6379]
14:28:21 [redisson-netty-1-7] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0xd717a1a8, L:/127.0.0.1:33843 - R:/127.0.0.1:6379]
14:28:21 [redisson-netty-1-8] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0x50fdd585, L:/127.0.0.1:33844 - R:/127.0.0.1:6379]
14:28:21 [redisson-netty-1-13] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0x516783bb, L:/127.0.0.1:33850 - R:/127.0.0.1:6379]
14:28:21 [redisson-netty-1-1] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0x99bff4de, L:/127.0.0.1:33847 - R:/127.0.0.1:6379]
14:28:21 [redisson-netty-1-9] ERROR org.redisson.client.handler.CommandsQueue - Exception occured. Channel: [id: 0x7525d163, L:/127.0.0.1:33845 - R:/127.0.0.1:6379]
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
java.io.IOException: Удаленный хост принудительно разорвал существующее подключение
	at sun.nio.ch.SocketDispatcher.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:192)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
	at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
14:28:24 [pool-1-thread-1] WARN org.redisson.connection.pool.MasterConnectionPool - host /127.0.0.1:6379 disconnected due to failedAttempts=3 limit reached
org.redisson.client.RedisConnectionException: MasterConnectionPool no available Redis entries.  Disconnected hosts: [/127.0.0.1:6379]
	at org.redisson.connection.pool.ConnectionPool.get(ConnectionPool.java:196)
	at org.redisson.connection.pool.MasterConnectionPool.get(MasterConnectionPool.java:1)
	at org.redisson.connection.MasterSlaveEntry.connectionWriteOp(MasterSlaveEntry.java:409)
	at org.redisson.connection.MasterSlaveConnectionManager.connectionWriteOp(MasterSlaveConnectionManager.java:708)
	at org.redisson.command.CommandAsyncService.async(CommandAsyncService.java:502)
	at org.redisson.command.CommandAsyncService$7.run(CommandAsyncService.java:551)
	at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
	at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
	at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
	at java.lang.Thread.run(Thread.java:745)
14:28:32 [redisson-3-14] INFO org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6389 has up
14:28:32 [redisson-3-14] INFO org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6379 has up
14:28:32 [redisson-3-16] INFO org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6389 has up
14:28:32 [redisson-3-16] INFO org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6379 has up
14:28:32 [redisson-3-13] INFO org.redisson.connection.SentinelConnectionManager - master redis://127.0.0.1:6379 changed to redis://127.0.0.1:6399
14:28:32 [redisson-netty-1-4] INFO org.redisson.connection.pool.MasterConnectionPool - 10 connections initialized for /127.0.0.1:6399
org.redisson.client.RedisConnectionException: MasterConnectionPool no available Redis entries.  Disconnected hosts: [/127.0.0.1:6379]
	at org.redisson.connection.pool.ConnectionPool.get(ConnectionPool.java:196)
	at org.redisson.connection.pool.MasterConnectionPool.get(MasterConnectionPool.java:1)
	at org.redisson.connection.MasterSlaveEntry.connectionWriteOp(MasterSlaveEntry.java:409)
	at org.redisson.connection.MasterSlaveConnectionManager.connectionWriteOp(MasterSlaveConnectionManager.java:708)
	at org.redisson.command.CommandAsyncService.async(CommandAsyncService.java:502)
	at org.redisson.command.CommandAsyncService$7.run(CommandAsyncService.java:551)
	at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
	at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
	at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
	at java.lang.Thread.run(Thread.java:745)
14:28:42 [redisson-3-1] WARN org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6379 has down
14:28:42 [redisson-3-1] WARN org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6389 has down
14:28:42 [redisson-3-2] WARN org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6379 has down
14:28:42 [redisson-3-2] WARN org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6389 has down
14:29:02 [redisson-3-3] INFO org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6379 has up
14:29:03 [redisson-3-4] INFO org.redisson.connection.SentinelConnectionManager - slave: 127.0.0.1:6379 has up

as you can see at the end of the log previous master node 127.0.0.1:6379 has joined as slave node and read operations are continued to execute correctly.

@ravi1983

This comment has been minimized.

Show comment
Hide comment
@ravi1983

ravi1983 Jul 12, 2017

I executed your code and I got exception after old master is started.

When old master is started, I could see it is reusing the connection objects that were created when old master was a master. Is there a way to flush the connections when a node leaves the cluster?

15:26:57.665 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 26, 26] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6381... RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 - R:/127.0.0.1:6381]]
15:26:57.934 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381 
15:26:58.037 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381 
15:26:58.132 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381 
15:26:58.235 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381 
15:26:58.333 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381 
15:26:58.535 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381 
15:26:58.837 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381 
15:26:59.232 [pool-1-thread-1] DEBUG org.redisson.command.CommandAsyncService - connection released for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 26, 26] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]]
15:26:59.232 [pool-1-thread-1] DEBUG org.redisson.command.CommandAsyncService - attempt 1 for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 26, 26]
15:26:59.232 [pool-1-thread-1] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 26, 26] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@805357220 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x4d5ca9af, L:/127.0.0.1:60300 - R:/127.0.0.1:6379]]
15:26:59.233 [redisson-netty-1-14] DEBUG org.redisson.command.CommandAsyncService - connection released for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 26, 26] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@805357220 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x4d5ca9af, L:/127.0.0.1:60300 - R:/127.0.0.1:6379]]
15:26:59.233 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (HGET) and params [test, 26] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@249653451 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x6180e94e, L:/127.0.0.1:60301 - R:/127.0.0.1:6379]]
15:26:59.234 [redisson-netty-1-16] DEBUG org.redisson.command.CommandAsyncService - connection released for command (HGET) and params [test, 26] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@249653451 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x6180e94e, L:/127.0.0.1:60301 - R:/127.0.0.1:6379]]
15:26:59.434 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381

Log snippet when write op is performed against previous master '127.0.0.1:6381':

15:27:51.696 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 78, 78] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@2120597587 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x74b28f50, L:/127.0.0.1:60304 - R:/127.0.0.1:6379]]
15:27:51.697 [redisson-netty-1-3] DEBUG org.redisson.command.CommandAsyncService - connection released for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 78, 78] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@2120597587 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x74b28f50, L:/127.0.0.1:60304 - R:/127.0.0.1:6379]]
15:27:51.697 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (HGET) and params [test, 78] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@2025419081 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xb30cc56c, L:/127.0.0.1:60305 - R:/127.0.0.1:6379]]
15:27:51.698 [redisson-netty-1-4] DEBUG org.redisson.command.CommandAsyncService - connection released for command (HGET) and params [test, 78] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@2025419081 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xb30cc56c, L:/127.0.0.1:60305 - R:/127.0.0.1:6379]]
15:27:52.334 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xe9f15cca, L:/127.0.0.1:60415 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381 
15:27:52.339 [redisson-netty-1-12] DEBUG org.redisson.client.handler.ConnectionWatchdog - RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xe9f15cca, L:/127.0.0.1:60415 ! R:/127.0.0.1:6381]] connected to /127.0.0.1:6381, command: null
78
15:27:52.703 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 79, 79] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1091122418 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x3d9b0fec, L:/127.0.0.1:60306 - R:/127.0.0.1:6379]]
15:27:52.703 [redisson-netty-1-7] DEBUG org.redisson.command.CommandAsyncService - connection released for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 79, 79] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1091122418 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x3d9b0fec, L:/127.0.0.1:60306 - R:/127.0.0.1:6379]]
15:27:52.704 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (HGET) and params [test, 79] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@876561532 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xb6b17528, L:/127.0.0.1:60307 - R:/127.0.0.1:6379]]
15:27:52.704 [redisson-netty-1-10] DEBUG org.redisson.command.CommandAsyncService - connection released for command (HGET) and params [test, 79] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@876561532 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xb6b17528, L:/127.0.0.1:60307 - R:/127.0.0.1:6379]]
79
15:27:53.708 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 80, 80] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@257892394 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x869ae732, L:/127.0.0.1:60308 - R:/127.0.0.1:6379]]
15:27:53.709 [redisson-netty-1-12] DEBUG org.redisson.command.CommandAsyncService - connection released for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 80, 80] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@257892394 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x869ae732, L:/127.0.0.1:60308 - R:/127.0.0.1:6379]]
15:27:53.709 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (HGET) and params [test, 80] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@914473465 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x08bad315, L:/127.0.0.1:60309 - R:/127.0.0.1:6379]]
15:27:53.710 [redisson-netty-1-14] DEBUG org.redisson.command.CommandAsyncService - connection released for command (HGET) and params [test, 80] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@914473465 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x08bad315, L:/127.0.0.1:60309 - R:/127.0.0.1:6379]]
80
15:27:54.713 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 81, 81] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6381... RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x0a2ffad3, L:/127.0.0.1:60574 - R:/127.0.0.1:6381]]
15:27:54.714 [redisson-netty-1-12] DEBUG org.redisson.command.CommandAsyncService - connection released for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 81, 81] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x0a2ffad3, L:/127.0.0.1:60574 - R:/127.0.0.1:6381]]
org.redisson.client.RedisException: ERR Error running script (call to f_8919eb76e65d79f3402d25a746d81a6ef0a57704): @user_script:1: @user_script: 1: -READONLY You can't write against a read only slave.   . channel: [id: 0x0a2ffad3, L:/127.0.0.1:60574 - R:/127.0.0.1:6381] command: CommandData [promise=org.redisson.misc.RedissonPromise@3563a082[Not completed], command=(EVAL), params=[local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); retur..., 1, test, 81, 81], codec=org.redisson.codec.JsonJacksonCodec@17246b24]
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:267)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:127)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:367)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)

ravi1983 commented Jul 12, 2017

I executed your code and I got exception after old master is started.

When old master is started, I could see it is reusing the connection objects that were created when old master was a master. Is there a way to flush the connections when a node leaves the cluster?

15:26:57.665 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 26, 26] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6381... RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 - R:/127.0.0.1:6381]]
15:26:57.934 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381 
15:26:58.037 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381 
15:26:58.132 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381 
15:26:58.235 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381 
15:26:58.333 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381 
15:26:58.535 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381 
15:26:58.837 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381 
15:26:59.232 [pool-1-thread-1] DEBUG org.redisson.command.CommandAsyncService - connection released for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 26, 26] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]]
15:26:59.232 [pool-1-thread-1] DEBUG org.redisson.command.CommandAsyncService - attempt 1 for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 26, 26]
15:26:59.232 [pool-1-thread-1] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 26, 26] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@805357220 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x4d5ca9af, L:/127.0.0.1:60300 - R:/127.0.0.1:6379]]
15:26:59.233 [redisson-netty-1-14] DEBUG org.redisson.command.CommandAsyncService - connection released for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 26, 26] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@805357220 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x4d5ca9af, L:/127.0.0.1:60300 - R:/127.0.0.1:6379]]
15:26:59.233 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (HGET) and params [test, 26] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@249653451 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x6180e94e, L:/127.0.0.1:60301 - R:/127.0.0.1:6379]]
15:26:59.234 [redisson-netty-1-16] DEBUG org.redisson.command.CommandAsyncService - connection released for command (HGET) and params [test, 26] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@249653451 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x6180e94e, L:/127.0.0.1:60301 - R:/127.0.0.1:6379]]
15:26:59.434 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x3facbb5b, L:/127.0.0.1:60255 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381

Log snippet when write op is performed against previous master '127.0.0.1:6381':

15:27:51.696 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 78, 78] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@2120597587 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x74b28f50, L:/127.0.0.1:60304 - R:/127.0.0.1:6379]]
15:27:51.697 [redisson-netty-1-3] DEBUG org.redisson.command.CommandAsyncService - connection released for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 78, 78] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@2120597587 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x74b28f50, L:/127.0.0.1:60304 - R:/127.0.0.1:6379]]
15:27:51.697 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (HGET) and params [test, 78] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@2025419081 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xb30cc56c, L:/127.0.0.1:60305 - R:/127.0.0.1:6379]]
15:27:51.698 [redisson-netty-1-4] DEBUG org.redisson.command.CommandAsyncService - connection released for command (HGET) and params [test, 78] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@2025419081 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xb30cc56c, L:/127.0.0.1:60305 - R:/127.0.0.1:6379]]
15:27:52.334 [pool-1-thread-1] DEBUG org.redisson.client.handler.ConnectionWatchdog - reconnecting RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xe9f15cca, L:/127.0.0.1:60415 ! R:/127.0.0.1:6381]] to /127.0.0.1:6381 
15:27:52.339 [redisson-netty-1-12] DEBUG org.redisson.client.handler.ConnectionWatchdog - RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xe9f15cca, L:/127.0.0.1:60415 ! R:/127.0.0.1:6381]] connected to /127.0.0.1:6381, command: null
78
15:27:52.703 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 79, 79] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1091122418 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x3d9b0fec, L:/127.0.0.1:60306 - R:/127.0.0.1:6379]]
15:27:52.703 [redisson-netty-1-7] DEBUG org.redisson.command.CommandAsyncService - connection released for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 79, 79] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1091122418 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x3d9b0fec, L:/127.0.0.1:60306 - R:/127.0.0.1:6379]]
15:27:52.704 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (HGET) and params [test, 79] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@876561532 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xb6b17528, L:/127.0.0.1:60307 - R:/127.0.0.1:6379]]
15:27:52.704 [redisson-netty-1-10] DEBUG org.redisson.command.CommandAsyncService - connection released for command (HGET) and params [test, 79] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@876561532 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xb6b17528, L:/127.0.0.1:60307 - R:/127.0.0.1:6379]]
79
15:27:53.708 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 80, 80] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@257892394 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x869ae732, L:/127.0.0.1:60308 - R:/127.0.0.1:6379]]
15:27:53.709 [redisson-netty-1-12] DEBUG org.redisson.command.CommandAsyncService - connection released for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 80, 80] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@257892394 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x869ae732, L:/127.0.0.1:60308 - R:/127.0.0.1:6379]]
15:27:53.709 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (HGET) and params [test, 80] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@914473465 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x08bad315, L:/127.0.0.1:60309 - R:/127.0.0.1:6379]]
15:27:53.710 [redisson-netty-1-14] DEBUG org.redisson.command.CommandAsyncService - connection released for command (HGET) and params [test, 80] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@914473465 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x08bad315, L:/127.0.0.1:60309 - R:/127.0.0.1:6379]]
80
15:27:54.713 [main] DEBUG org.redisson.command.CommandAsyncService - acquired connection for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 81, 81] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6381... RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x0a2ffad3, L:/127.0.0.1:60574 - R:/127.0.0.1:6381]]
15:27:54.714 [redisson-netty-1-12] DEBUG org.redisson.command.CommandAsyncService - connection released for command (EVAL) and params [local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); return v, 1, test, 81, 81] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1929007110 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0x0a2ffad3, L:/127.0.0.1:60574 - R:/127.0.0.1:6381]]
org.redisson.client.RedisException: ERR Error running script (call to f_8919eb76e65d79f3402d25a746d81a6ef0a57704): @user_script:1: @user_script: 1: -READONLY You can't write against a read only slave.   . channel: [id: 0x0a2ffad3, L:/127.0.0.1:60574 - R:/127.0.0.1:6381] command: CommandData [promise=org.redisson.misc.RedissonPromise@3563a082[Not completed], command=(EVAL), params=[local v = redis.call('hget', KEYS[1], ARGV[1]); redis.call('hset', KEYS[1], ARGV[1], ARGV[2]); retur..., 1, test, 81, 81], codec=org.redisson.codec.JsonJacksonCodec@17246b24]
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:267)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:127)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:367)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
@mrniko

This comment has been minimized.

Show comment
Hide comment
@mrniko

mrniko Jul 13, 2017

Member

Is there a way to flush the connections when a node leaves the cluster?

All previous connects are closed in MasterSlaveEntry.slaveDown method during master change process

Member

mrniko commented Jul 13, 2017

Is there a way to flush the connections when a node leaves the cluster?

All previous connects are closed in MasterSlaveEntry.slaveDown method during master change process

@ravi1983

This comment has been minimized.

Show comment
Hide comment
@ravi1983

ravi1983 Jul 14, 2017

Ok. But why are the writes going to the read-only slaves?

I get the same error, even with your test code.

ravi1983 commented Jul 14, 2017

Ok. But why are the writes going to the read-only slaves?

I get the same error, even with your test code.

@pandabeastmaster

This comment has been minimized.

Show comment
Hide comment
@pandabeastmaster

pandabeastmaster Aug 10, 2017

I am seeing this too. Is there a solution. I am running simply in master / slave mode w.version 3.5.0

pandabeastmaster commented Aug 10, 2017

I am seeing this too. Is there a solution. I am running simply in master / slave mode w.version 3.5.0

@mrniko

This comment has been minimized.

Show comment
Hide comment
@mrniko

mrniko Aug 11, 2017

Member

I would fix it if you could reproduce it. Seems it's related to network configuration.

Member

mrniko commented Aug 11, 2017

I would fix it if you could reproduce it. Seems it's related to network configuration.

@fsindustry

This comment has been minimized.

Show comment
Hide comment
@fsindustry

fsindustry Aug 24, 2017

@mrniko you can try it in cluster mode,I seemed meet the same problem,I deployed a cluster with 3 masters and 3 slaves,I killed one master and restart it after new master was choosen. The old master has very high cpu ratio and ops. see problem #1013

fsindustry commented Aug 24, 2017

@mrniko you can try it in cluster mode,I seemed meet the same problem,I deployed a cluster with 3 masters and 3 slaves,I killed one master and restart it after new master was choosen. The old master has very high cpu ratio and ops. see problem #1013

@mrniko

This comment has been minimized.

Show comment
Hide comment
@mrniko

mrniko Aug 25, 2017

Member

Hi! I think I have fixed it. Could you try current version from "master" branch?

Member

mrniko commented Aug 25, 2017

Hi! I think I have fixed it. Could you try current version from "master" branch?

@ravi1983

This comment has been minimized.

Show comment
Hide comment
@ravi1983

ravi1983 Aug 27, 2017

I am having issues reproducing the issue... I used same code and same redisson version(3.4.3).

I will try to do this on Monday again and let you know how it goes.

ravi1983 commented Aug 27, 2017

I am having issues reproducing the issue... I used same code and same redisson version(3.4.3).

I will try to do this on Monday again and let you know how it goes.

@mrniko

This comment has been minimized.

Show comment
Hide comment
@mrniko

mrniko Aug 28, 2017

Member

More enchantments were made

Member

mrniko commented Aug 28, 2017

More enchantments were made

@ravi1983

This comment has been minimized.

Show comment
Hide comment
@ravi1983

ravi1983 Sep 3, 2017

@mrniko, I took latest code SNAPSHOT (3.5.2-SNAPSHOT) code, built it locally and tested it. But I am still able to reproduce it. Am I using the right version?

If yes, can you try testing your fix in a Redis cluster that has > 2GB of data.

Thanks.

ravi1983 commented Sep 3, 2017

@mrniko, I took latest code SNAPSHOT (3.5.2-SNAPSHOT) code, built it locally and tested it. But I am still able to reproduce it. Am I using the right version?

If yes, can you try testing your fix in a Redis cluster that has > 2GB of data.

Thanks.

@mrniko

This comment has been minimized.

Show comment
Hide comment
@mrniko

mrniko Sep 4, 2017

Member

Could you run it again with DEBUG log level for org.redisson package?

Member

mrniko commented Sep 4, 2017

Could you run it again with DEBUG log level for org.redisson package?

@mrniko

This comment has been minimized.

Show comment
Hide comment
@mrniko

mrniko Sep 4, 2017

Member

Also please share your redis server configs

Member

mrniko commented Sep 4, 2017

Also please share your redis server configs

@ravi1983

This comment has been minimized.

Show comment
Hide comment
@ravi1983

ravi1983 Sep 12, 2017

I am working on this. Will share the logs tomorrow.

ravi1983 commented Sep 12, 2017

I am working on this. Will share the logs tomorrow.

@ravi1983

This comment has been minimized.

Show comment
Hide comment
@ravi1983

ravi1983 Sep 18, 2017

@mrniko, following is the log snippet for the error.

SPID -  2017-09-17 22:19:13 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704753399, 1505704813399, 0, 0, [B@72f46e16, [B@3c9168dc] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6381... RedisConnection@1602850284 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381]]
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:103)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:367)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
SPID -  2017-09-17 22:19:13 - redisson-netty-1-6 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704753399, 1505704813399, 0, 0, [B@72f46e16, [B@3c9168dc] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1602850284 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381]]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
SPID -  2017-09-17 22:19:14 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704754402, 1505704814402, 0, 0, [B@549621f3, [B@54361a9] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1278681014 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xa335ba1a, L:/127.0.0.1:50680 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:14 - redisson-netty-1-5 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704754402, 1505704814402, 0, 0, [B@549621f3, [B@54361a9] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1278681014 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xa335ba1a, L:/127.0.0.1:50680 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:14 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704754408, [B@32232e55] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@858295991 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xc619f9c2, L:/127.0.0.1:50683 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:14 - redisson-netty-1-9 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704754408, [B@32232e55] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@858295991 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xc619f9c2, L:/127.0.0.1:50683 - R:/127.0.0.1:6379]]
853
SPID -  2017-09-17 22:19:15 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704755412, 1505704815412, 0, 0, [B@5217f3d0, [B@37ebc9d8] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@2123623039 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x23602c36, L:/127.0.0.1:50684 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:15 - redisson-netty-1-10 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704755412, 1505704815412, 0, 0, [B@5217f3d0, [B@37ebc9d8] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@2123623039 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x23602c36, L:/127.0.0.1:50684 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:15 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704755418, [B@293bb8a5] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1936076882 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xea08fe2b, L:/127.0.0.1:50679 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:15 - redisson-netty-1-11 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704755418, [B@293bb8a5] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1936076882 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xea08fe2b, L:/127.0.0.1:50679 - R:/127.0.0.1:6379]]
854
SPID -  2017-09-17 22:19:16 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704756424, 1505704816424, 0, 0, [B@2416a51, [B@6fa590ba] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@69876392 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xd42a8c82, L:/127.0.0.1:50676 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:16 - redisson-netty-1-8 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704756424, 1505704816424, 0, 0, [B@2416a51, [B@6fa590ba] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@69876392 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xd42a8c82, L:/127.0.0.1:50676 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:16 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704756430, [B@6e9319f] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1024407424 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xe3119768, L:/127.0.0.1:50678 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:16 - redisson-netty-1-13 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704756430, [B@6e9319f] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1024407424 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xe3119768, L:/127.0.0.1:50678 - R:/127.0.0.1:6379]]
855
SPID -  2017-09-17 22:19:17 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704757437, 1505704817437, 0, 0, [B@72e34f77, [B@7bf9b098] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@175730202 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x3948b0b0, L:/127.0.0.1:50682 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:17 - redisson-netty-1-7 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704757437, 1505704817437, 0, 0, [B@72e34f77, [B@7bf9b098] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@175730202 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x3948b0b0, L:/127.0.0.1:50682 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:17 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704757442, [B@389adf1d] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@753894635 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x8e138f51, L:/127.0.0.1:50677 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:17 - redisson-netty-1-12 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704757442, [B@389adf1d] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@753894635 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x8e138f51, L:/127.0.0.1:50677 - R:/127.0.0.1:6379]]
856
SPID -  2017-09-17 22:19:18 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704758447, 1505704818447, 0, 0, [B@77307458, [B@1fc0053e] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@69957820 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x84273e21, L:/127.0.0.1:50685 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:18 - redisson-netty-1-6 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704758447, 1505704818447, 0, 0, [B@77307458, [B@1fc0053e] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@69957820 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x84273e21, L:/127.0.0.1:50685 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:18 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704758450, [B@290b1b2e] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@356405271 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x5d09e4c2, L:/127.0.0.1:50681 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:18 - redisson-netty-1-14 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704758450, [B@290b1b2e] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@356405271 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x5d09e4c2, L:/127.0.0.1:50681 - R:/127.0.0.1:6379]]
857
SPID -  2017-09-17 22:19:19 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704759458, 1505704819458, 0, 0, [B@47874b25, [B@33617539] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6381... RedisConnection@1602850284 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381]]
SPID -  2017-09-17 22:19:19 - redisson-netty-1-6 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704759458, 1505704819458, 0, 0, [B@47874b25, [B@33617539] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1602850284 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381]]
org.redisson.client.RedisException: ERR Error running script (call to f_9624b7525b72d5cbf66c7aa46116cbd5f9759e44): @user_script:1: @user_script: 1: -READONLY You can't write against a read only slave.   . channel: [id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381] command: CommandData [promise=org.redisson.misc.RedissonPromise@29e6d0dc[Not completed], command=(EVAL), params=[local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then inserta..., 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704759458, 1505704819458, 0, ...], codec=org.redisson.codec.JsonJacksonCodec@77eb7db]
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:243)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:103)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:367)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
SPID -  2017-09-17 22:19:20 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704760464, 1505704820464, 0, 0, [B@5db4c359, [B@209775a9] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1278681014 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xa335ba1a, L:/127.0.0.1:50680 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:20 - redisson-netty-1-5 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704760464, 1505704820464, 0, 0, [B@5db4c359, [B@209775a9] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1278681014 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xa335ba1a, L:/127.0.0.1:50680 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:20 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704760466, [B@18e7143f] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@858295991 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xc619f9c2, L:/127.0.0.1:50683 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:20 - redisson-netty-1-9 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704760466, [B@18e7143f] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@858295991 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xc619f9c2, L:/127.0.0.1:50683 - R:/127.0.0.1:6379]]
859
SPID -  2017-09-17 22:19:21 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704761469, 1505704821469, 0, 0, [B@f9b7332, [B@74cec793] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@2123623039 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x23602c36, L:/127.0.0.1:50684 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:21 - redisson-netty-1-10 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704761469, 1505704821469, 0, 0, [B@f9b7332, [B@74cec793] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@2123623039 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x23602c36, L:/127.0.0.1:50684 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:21 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704761556, [B@6fefce9e] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1936076882 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xea08fe2b, L:/127.0.0.1:50679 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:21 - redisson-netty-1-11 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704761556, [B@6fefce9e] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1936076882 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xea08fe2b, L:/127.0.0.1:50679 - R:/127.0.0.1:6379]]
860
SPID -  2017-09-17 22:19:22 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704762562, 1505704822562, 0, 0, [B@4f8969b0, [B@1bdf8190] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@69876392 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xd42a8c82, L:/127.0.0.1:50676 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:22 - redisson-netty-1-8 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704762562, 1505704822562, 0, 0, [B@4f8969b0, [B@1bdf8190] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@69876392 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xd42a8c82, L:/127.0.0.1:50676 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:22 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704762569, [B@192f2f27] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1024407424 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xe3119768, L:/127.0.0.1:50678 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:22 - redisson-netty-1-13 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704762569, [B@192f2f27] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1024407424 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xe3119768, L:/127.0.0.1:50678 - R:/127.0.0.1:6379]]
861
SPID -  2017-09-17 22:19:23 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704763573, 1505704823573, 0, 0, [B@8a589a2, [B@c65a5ef] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@175730202 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x3948b0b0, L:/127.0.0.1:50682 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:23 - redisson-netty-1-7 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704763573, 1505704823573, 0, 0, [B@8a589a2, [B@c65a5ef] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@175730202 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x3948b0b0, L:/127.0.0.1:50682 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:23 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704763579, [B@6b5176f2] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@753894635 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x8e138f51, L:/127.0.0.1:50677 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:23 - redisson-netty-1-12 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704763579, [B@6b5176f2] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@753894635 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x8e138f51, L:/127.0.0.1:50677 - R:/127.0.0.1:6379]]
862
SPID -  2017-09-17 22:19:24 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704764582, 1505704824582, 0, 0, [B@b672aa8, [B@2fab4aff] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@69957820 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x84273e21, L:/127.0.0.1:50685 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:24 - redisson-netty-1-6 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704764582, 1505704824582, 0, 0, [B@b672aa8, [B@2fab4aff] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@69957820 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x84273e21, L:/127.0.0.1:50685 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:24 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704764587, [B@ec0c838] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@356405271 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x5d09e4c2, L:/127.0.0.1:50681 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:24 - redisson-netty-1-14 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704764587, [B@ec0c838] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@356405271 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x5d09e4c2, L:/127.0.0.1:50681 - R:/127.0.0.1:6379]]
863
SPID -  2017-09-17 22:19:25 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704765591, 1505704825591, 0, 0, [B@6e46d9f4, [B@5cc69cfe] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6381... RedisConnection@1602850284 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381]]
org.redisson.client.RedisException: ERR Error running script (call to f_9624b7525b72d5cbf66c7aa46116cbd5f9759e44): @user_script:1: @user_script: 1: -READONLY You can't write against a read only slave.   . channel: [id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381] command: CommandData [promise=org.redisson.misc.RedissonPromise@29cd0171[Not completed], command=(EVAL), params=[local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then inserta..., 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704765591, 1505704825591, 0, ...], codec=org.redisson.codec.JsonJacksonCodec@77eb7db]
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:243)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:103)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:367)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
SPID -  2017-09-17 22:19:25 - redisson-netty-1-6 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704765591, 1505704825591, 0, 0, [B@6e46d9f4, [B@5cc69cfe] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1602850284 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381]]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
SPID -  2017-09-17 22:19:26 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704766597, 1505704826597, 0, 0, [B@21c64522, [B@7997b197] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1278681014 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xa335ba1a, L:/127.0.0.1:50680 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:26 - redisson-netty-1-5 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704766597, 1505704826597, 0, 0, [B@21c64522, [B@7997b197] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1278681014 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xa335ba1a, L:/127.0.0.1:50680 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:26 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704766601, [B@11dee337] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@858295991 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xc619f9c2, L:/127.0.0.1:50683 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:26 - redisson-netty-1-9 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704766601, [B@11dee337] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@858295991 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xc619f9c2, L:/127.0.0.1:50683 - R:/127.0.0.1:6379]]
865
SPID -  2017-09-17 22:19:27 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704767606, 1505704827606, 0, 0, [B@460f76a6, [B@55f3c410] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@2123623039 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x23602c36, L:/127.0.0.1:50684 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:27 - redisson-netty-1-10 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704767606, 1505704827606, 0, 0, [B@460f76a6, [B@55f3c410] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@2123623039 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x23602c36, L:/127.0.0.1:50684 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:27 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704767607, [B@11acdc30] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1936076882 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xea08fe2b, L:/127.0.0.1:50679 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:27 - redisson-netty-1-11 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704767607, [B@11acdc30] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1936076882 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xea08fe2b, L:/127.0.0.1:50679 - R:/127.0.0.1:6379]]
866
SPID -  2017-09-17 22:19:28 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704768619, 1505704828619, 0, 0, [B@770d4269, [B@4a8ab068] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@69876392 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xd42a8c82, L:/127.0.0.1:50676 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:28 - redisson-netty-1-8 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704768619, 1505704828619, 0, 0, [B@770d4269, [B@4a8ab068] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@69876392 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xd42a8c82, L:/127.0.0.1:50676 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:28 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704768621, [B@1922e6d] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1024407424 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xe3119768, L:/127.0.0.1:50678 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:28 - redisson-netty-1-13 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704768621, [B@1922e6d] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1024407424 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xe3119768, L:/127.0.0.1:50678 - R:/127.0.0.1:6379]]
867
SPID -  2017-09-17 22:19:29 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704769631, 1505704829631, 0, 0, [B@76a82f33, [B@6bab2585] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@175730202 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x3948b0b0, L:/127.0.0.1:50682 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:29 - redisson-netty-1-7 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704769631, 1505704829631, 0, 0, [B@76a82f33, [B@6bab2585] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@175730202 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x3948b0b0, L:/127.0.0.1:50682 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:29 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704769635, [B@74bdc168] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@753894635 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x8e138f51, L:/127.0.0.1:50677 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:29 - redisson-netty-1-12 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704769635, [B@74bdc168] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@753894635 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x8e138f51, L:/127.0.0.1:50677 - R:/127.0.0.1:6379]]
868
SPID -  2017-09-17 22:19:30 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704770640, 1505704830640, 0, 0, [B@644c78d4, [B@532a02d9] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@69957820 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x84273e21, L:/127.0.0.1:50685 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:30 - redisson-netty-1-6 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704770640, 1505704830640, 0, 0, [B@644c78d4, [B@532a02d9] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@69957820 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x84273e21, L:/127.0.0.1:50685 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:30 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704770651, [B@611f8234] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@356405271 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x5d09e4c2, L:/127.0.0.1:50681 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:30 - redisson-netty-1-14 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704770651, [B@611f8234] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@356405271 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x5d09e4c2, L:/127.0.0.1:50681 - R:/127.0.0.1:6379]]
869
SPID -  2017-09-17 22:19:31 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704771657, 1505704831657, 0, 0, [B@7bb3a9fe, [B@7cbee484] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6381... RedisConnection@1602850284 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381]]
SPID -  2017-09-17 22:19:31 - redisson-netty-1-6 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704771657, 1505704831657, 0, 0, [B@7bb3a9fe, [B@7cbee484] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1602850284 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381]]
org.redisson.client.RedisException: ERR Error running script (call to f_9624b7525b72d5cbf66c7aa46116cbd5f9759e44): @user_script:1: @user_script: 1: -READONLY You can't write against a read only slave.   . channel: [id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381] command: CommandData [promise=org.redisson.misc.RedissonPromise@338ad3fd[Not completed], command=(EVAL), params=[local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then inserta..., 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704771657, 1505704831657, 0, ...], codec=org.redisson.codec.JsonJacksonCodec@77eb7db]
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:243)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:103)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:367)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
SPID -  2017-09-17 22:19:32 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704772666, 1505704832666, 0, 0, [B@62923ee6, [B@4089713] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1278681014 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xa335ba1a, L:/127.0.0.1:50680 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:32 - redisson-netty-1-5 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704772666, 1505704832666, 0, 0, [B@62923ee6, [B@4089713] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1278681014 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xa335ba1a, L:/127.0.0.1:50680 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:32 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704772670, [B@f19c9d2] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@858295991 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xc619f9c2, L:/127.0.0.1:50683 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:32 - redisson-netty-1-9 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704772670, [B@f19c9d2] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@858295991 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xc619f9c2, L:/127.0.0.1:50683 - R:/127.0.0.1:6379]]
871
SPID -  2017-09-17 22:19:33 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704773677, 1505704833677, 0, 0, [B@7807ac2c, [B@b91d8c4] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@2123623039 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x23602c36, L:/127.0.0.1:50684 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:33 - redisson-netty-1-10 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704773677, 1505704833677, 0, 0, [B@7807ac2c, [B@b91d8c4] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@2123623039 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x23602c36, L:/127.0.0.1:50684 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:33 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704773685, [B@4b6166aa] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1936076882 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xea08fe2b, L:/127.0.0.1:50679 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:33 - redisson-netty-1-11 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704773685, [B@4b6166aa] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1936076882 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xea08fe2b, L:/127.0.0.1:50679 - R:/127.0.0.1:6379]]
872

There is no predictable step to reproduce the error. Some times it happens when first master joins as slave to cluster, or when failover happens multiple times.

I am able to reproduce this error only if there is > 2GB data in Redis.

ravi1983 commented Sep 18, 2017

@mrniko, following is the log snippet for the error.

SPID -  2017-09-17 22:19:13 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704753399, 1505704813399, 0, 0, [B@72f46e16, [B@3c9168dc] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6381... RedisConnection@1602850284 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381]]
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:103)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:367)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
SPID -  2017-09-17 22:19:13 - redisson-netty-1-6 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704753399, 1505704813399, 0, 0, [B@72f46e16, [B@3c9168dc] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1602850284 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381]]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
SPID -  2017-09-17 22:19:14 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704754402, 1505704814402, 0, 0, [B@549621f3, [B@54361a9] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1278681014 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xa335ba1a, L:/127.0.0.1:50680 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:14 - redisson-netty-1-5 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704754402, 1505704814402, 0, 0, [B@549621f3, [B@54361a9] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1278681014 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xa335ba1a, L:/127.0.0.1:50680 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:14 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704754408, [B@32232e55] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@858295991 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xc619f9c2, L:/127.0.0.1:50683 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:14 - redisson-netty-1-9 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704754408, [B@32232e55] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@858295991 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xc619f9c2, L:/127.0.0.1:50683 - R:/127.0.0.1:6379]]
853
SPID -  2017-09-17 22:19:15 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704755412, 1505704815412, 0, 0, [B@5217f3d0, [B@37ebc9d8] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@2123623039 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x23602c36, L:/127.0.0.1:50684 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:15 - redisson-netty-1-10 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704755412, 1505704815412, 0, 0, [B@5217f3d0, [B@37ebc9d8] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@2123623039 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x23602c36, L:/127.0.0.1:50684 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:15 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704755418, [B@293bb8a5] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1936076882 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xea08fe2b, L:/127.0.0.1:50679 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:15 - redisson-netty-1-11 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704755418, [B@293bb8a5] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1936076882 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xea08fe2b, L:/127.0.0.1:50679 - R:/127.0.0.1:6379]]
854
SPID -  2017-09-17 22:19:16 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704756424, 1505704816424, 0, 0, [B@2416a51, [B@6fa590ba] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@69876392 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xd42a8c82, L:/127.0.0.1:50676 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:16 - redisson-netty-1-8 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704756424, 1505704816424, 0, 0, [B@2416a51, [B@6fa590ba] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@69876392 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xd42a8c82, L:/127.0.0.1:50676 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:16 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704756430, [B@6e9319f] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1024407424 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xe3119768, L:/127.0.0.1:50678 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:16 - redisson-netty-1-13 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704756430, [B@6e9319f] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1024407424 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xe3119768, L:/127.0.0.1:50678 - R:/127.0.0.1:6379]]
855
SPID -  2017-09-17 22:19:17 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704757437, 1505704817437, 0, 0, [B@72e34f77, [B@7bf9b098] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@175730202 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x3948b0b0, L:/127.0.0.1:50682 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:17 - redisson-netty-1-7 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704757437, 1505704817437, 0, 0, [B@72e34f77, [B@7bf9b098] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@175730202 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x3948b0b0, L:/127.0.0.1:50682 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:17 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704757442, [B@389adf1d] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@753894635 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x8e138f51, L:/127.0.0.1:50677 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:17 - redisson-netty-1-12 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704757442, [B@389adf1d] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@753894635 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x8e138f51, L:/127.0.0.1:50677 - R:/127.0.0.1:6379]]
856
SPID -  2017-09-17 22:19:18 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704758447, 1505704818447, 0, 0, [B@77307458, [B@1fc0053e] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@69957820 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x84273e21, L:/127.0.0.1:50685 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:18 - redisson-netty-1-6 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704758447, 1505704818447, 0, 0, [B@77307458, [B@1fc0053e] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@69957820 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x84273e21, L:/127.0.0.1:50685 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:18 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704758450, [B@290b1b2e] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@356405271 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x5d09e4c2, L:/127.0.0.1:50681 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:18 - redisson-netty-1-14 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704758450, [B@290b1b2e] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@356405271 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x5d09e4c2, L:/127.0.0.1:50681 - R:/127.0.0.1:6379]]
857
SPID -  2017-09-17 22:19:19 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704759458, 1505704819458, 0, 0, [B@47874b25, [B@33617539] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6381... RedisConnection@1602850284 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381]]
SPID -  2017-09-17 22:19:19 - redisson-netty-1-6 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704759458, 1505704819458, 0, 0, [B@47874b25, [B@33617539] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1602850284 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381]]
org.redisson.client.RedisException: ERR Error running script (call to f_9624b7525b72d5cbf66c7aa46116cbd5f9759e44): @user_script:1: @user_script: 1: -READONLY You can't write against a read only slave.   . channel: [id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381] command: CommandData [promise=org.redisson.misc.RedissonPromise@29e6d0dc[Not completed], command=(EVAL), params=[local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then inserta..., 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704759458, 1505704819458, 0, ...], codec=org.redisson.codec.JsonJacksonCodec@77eb7db]
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:243)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:103)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:367)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
SPID -  2017-09-17 22:19:20 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704760464, 1505704820464, 0, 0, [B@5db4c359, [B@209775a9] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1278681014 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xa335ba1a, L:/127.0.0.1:50680 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:20 - redisson-netty-1-5 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704760464, 1505704820464, 0, 0, [B@5db4c359, [B@209775a9] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1278681014 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xa335ba1a, L:/127.0.0.1:50680 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:20 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704760466, [B@18e7143f] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@858295991 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xc619f9c2, L:/127.0.0.1:50683 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:20 - redisson-netty-1-9 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704760466, [B@18e7143f] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@858295991 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xc619f9c2, L:/127.0.0.1:50683 - R:/127.0.0.1:6379]]
859
SPID -  2017-09-17 22:19:21 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704761469, 1505704821469, 0, 0, [B@f9b7332, [B@74cec793] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@2123623039 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x23602c36, L:/127.0.0.1:50684 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:21 - redisson-netty-1-10 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704761469, 1505704821469, 0, 0, [B@f9b7332, [B@74cec793] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@2123623039 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x23602c36, L:/127.0.0.1:50684 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:21 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704761556, [B@6fefce9e] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1936076882 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xea08fe2b, L:/127.0.0.1:50679 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:21 - redisson-netty-1-11 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704761556, [B@6fefce9e] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1936076882 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xea08fe2b, L:/127.0.0.1:50679 - R:/127.0.0.1:6379]]
860
SPID -  2017-09-17 22:19:22 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704762562, 1505704822562, 0, 0, [B@4f8969b0, [B@1bdf8190] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@69876392 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xd42a8c82, L:/127.0.0.1:50676 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:22 - redisson-netty-1-8 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704762562, 1505704822562, 0, 0, [B@4f8969b0, [B@1bdf8190] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@69876392 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xd42a8c82, L:/127.0.0.1:50676 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:22 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704762569, [B@192f2f27] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1024407424 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xe3119768, L:/127.0.0.1:50678 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:22 - redisson-netty-1-13 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704762569, [B@192f2f27] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1024407424 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xe3119768, L:/127.0.0.1:50678 - R:/127.0.0.1:6379]]
861
SPID -  2017-09-17 22:19:23 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704763573, 1505704823573, 0, 0, [B@8a589a2, [B@c65a5ef] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@175730202 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x3948b0b0, L:/127.0.0.1:50682 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:23 - redisson-netty-1-7 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704763573, 1505704823573, 0, 0, [B@8a589a2, [B@c65a5ef] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@175730202 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x3948b0b0, L:/127.0.0.1:50682 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:23 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704763579, [B@6b5176f2] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@753894635 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x8e138f51, L:/127.0.0.1:50677 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:23 - redisson-netty-1-12 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704763579, [B@6b5176f2] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@753894635 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x8e138f51, L:/127.0.0.1:50677 - R:/127.0.0.1:6379]]
862
SPID -  2017-09-17 22:19:24 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704764582, 1505704824582, 0, 0, [B@b672aa8, [B@2fab4aff] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@69957820 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x84273e21, L:/127.0.0.1:50685 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:24 - redisson-netty-1-6 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704764582, 1505704824582, 0, 0, [B@b672aa8, [B@2fab4aff] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@69957820 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x84273e21, L:/127.0.0.1:50685 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:24 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704764587, [B@ec0c838] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@356405271 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x5d09e4c2, L:/127.0.0.1:50681 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:24 - redisson-netty-1-14 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704764587, [B@ec0c838] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@356405271 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x5d09e4c2, L:/127.0.0.1:50681 - R:/127.0.0.1:6379]]
863
SPID -  2017-09-17 22:19:25 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704765591, 1505704825591, 0, 0, [B@6e46d9f4, [B@5cc69cfe] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6381... RedisConnection@1602850284 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381]]
org.redisson.client.RedisException: ERR Error running script (call to f_9624b7525b72d5cbf66c7aa46116cbd5f9759e44): @user_script:1: @user_script: 1: -READONLY You can't write against a read only slave.   . channel: [id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381] command: CommandData [promise=org.redisson.misc.RedissonPromise@29cd0171[Not completed], command=(EVAL), params=[local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then inserta..., 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704765591, 1505704825591, 0, ...], codec=org.redisson.codec.JsonJacksonCodec@77eb7db]
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:243)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:103)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:367)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
SPID -  2017-09-17 22:19:25 - redisson-netty-1-6 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704765591, 1505704825591, 0, 0, [B@6e46d9f4, [B@5cc69cfe] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1602850284 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381]]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
SPID -  2017-09-17 22:19:26 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704766597, 1505704826597, 0, 0, [B@21c64522, [B@7997b197] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1278681014 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xa335ba1a, L:/127.0.0.1:50680 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:26 - redisson-netty-1-5 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704766597, 1505704826597, 0, 0, [B@21c64522, [B@7997b197] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1278681014 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xa335ba1a, L:/127.0.0.1:50680 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:26 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704766601, [B@11dee337] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@858295991 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xc619f9c2, L:/127.0.0.1:50683 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:26 - redisson-netty-1-9 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704766601, [B@11dee337] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@858295991 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xc619f9c2, L:/127.0.0.1:50683 - R:/127.0.0.1:6379]]
865
SPID -  2017-09-17 22:19:27 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704767606, 1505704827606, 0, 0, [B@460f76a6, [B@55f3c410] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@2123623039 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x23602c36, L:/127.0.0.1:50684 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:27 - redisson-netty-1-10 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704767606, 1505704827606, 0, 0, [B@460f76a6, [B@55f3c410] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@2123623039 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x23602c36, L:/127.0.0.1:50684 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:27 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704767607, [B@11acdc30] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1936076882 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xea08fe2b, L:/127.0.0.1:50679 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:27 - redisson-netty-1-11 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704767607, [B@11acdc30] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1936076882 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xea08fe2b, L:/127.0.0.1:50679 - R:/127.0.0.1:6379]]
866
SPID -  2017-09-17 22:19:28 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704768619, 1505704828619, 0, 0, [B@770d4269, [B@4a8ab068] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@69876392 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xd42a8c82, L:/127.0.0.1:50676 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:28 - redisson-netty-1-8 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704768619, 1505704828619, 0, 0, [B@770d4269, [B@4a8ab068] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@69876392 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xd42a8c82, L:/127.0.0.1:50676 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:28 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704768621, [B@1922e6d] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1024407424 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xe3119768, L:/127.0.0.1:50678 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:28 - redisson-netty-1-13 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704768621, [B@1922e6d] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1024407424 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xe3119768, L:/127.0.0.1:50678 - R:/127.0.0.1:6379]]
867
SPID -  2017-09-17 22:19:29 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704769631, 1505704829631, 0, 0, [B@76a82f33, [B@6bab2585] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@175730202 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x3948b0b0, L:/127.0.0.1:50682 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:29 - redisson-netty-1-7 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704769631, 1505704829631, 0, 0, [B@76a82f33, [B@6bab2585] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@175730202 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x3948b0b0, L:/127.0.0.1:50682 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:29 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704769635, [B@74bdc168] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@753894635 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x8e138f51, L:/127.0.0.1:50677 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:29 - redisson-netty-1-12 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704769635, [B@74bdc168] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@753894635 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x8e138f51, L:/127.0.0.1:50677 - R:/127.0.0.1:6379]]
868
SPID -  2017-09-17 22:19:30 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704770640, 1505704830640, 0, 0, [B@644c78d4, [B@532a02d9] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@69957820 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x84273e21, L:/127.0.0.1:50685 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:30 - redisson-netty-1-6 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704770640, 1505704830640, 0, 0, [B@644c78d4, [B@532a02d9] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@69957820 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x84273e21, L:/127.0.0.1:50685 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:30 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704770651, [B@611f8234] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@356405271 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x5d09e4c2, L:/127.0.0.1:50681 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:30 - redisson-netty-1-14 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704770651, [B@611f8234] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@356405271 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x5d09e4c2, L:/127.0.0.1:50681 - R:/127.0.0.1:6379]]
869
SPID -  2017-09-17 22:19:31 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704771657, 1505704831657, 0, 0, [B@7bb3a9fe, [B@7cbee484] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6381... RedisConnection@1602850284 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381]]
SPID -  2017-09-17 22:19:31 - redisson-netty-1-6 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704771657, 1505704831657, 0, 0, [B@7bb3a9fe, [B@7cbee484] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1602850284 [redisClient=[addr=/127.0.0.1:6381], channel=[id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381]]
org.redisson.client.RedisException: ERR Error running script (call to f_9624b7525b72d5cbf66c7aa46116cbd5f9759e44): @user_script:1: @user_script: 1: -READONLY You can't write against a read only slave.   . channel: [id: 0xabce8bfe, L:/127.0.0.1:50881 - R:/127.0.0.1:6381] command: CommandData [promise=org.redisson.misc.RedissonPromise@338ad3fd[Not completed], command=(EVAL), params=[local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then inserta..., 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704771657, 1505704831657, 0, ...], codec=org.redisson.codec.JsonJacksonCodec@77eb7db]
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:243)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:103)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:367)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1334)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:926)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)
SPID -  2017-09-17 22:19:32 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704772666, 1505704832666, 0, 0, [B@62923ee6, [B@4089713] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1278681014 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xa335ba1a, L:/127.0.0.1:50680 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:32 - redisson-netty-1-5 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704772666, 1505704832666, 0, 0, [B@62923ee6, [B@4089713] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1278681014 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xa335ba1a, L:/127.0.0.1:50680 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:32 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704772670, [B@f19c9d2] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@858295991 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xc619f9c2, L:/127.0.0.1:50683 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:32 - redisson-netty-1-9 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704772670, [B@f19c9d2] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@858295991 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xc619f9c2, L:/127.0.0.1:50683 - R:/127.0.0.1:6379]]
871
SPID -  2017-09-17 22:19:33 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704773677, 1505704833677, 0, 0, [B@7807ac2c, [B@b91d8c4] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@2123623039 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x23602c36, L:/127.0.0.1:50684 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:33 - redisson-netty-1-10 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 5, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, 1505704773677, 1505704833677, 0, 0, [B@7807ac2c, [B@b91d8c4] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@2123623039 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0x23602c36, L:/127.0.0.1:50684 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:33 - main - DEBUG o.r.command.CommandAsyncService - acquired connection for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704773685, [B@4b6166aa] from slot NodeSource [slot=null, addr=null, redirect=null] using node /127.0.0.1:6379... RedisConnection@1936076882 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xea08fe2b, L:/127.0.0.1:50679 - R:/127.0.0.1:6379]]
SPID -  2017-09-17 22:19:33 - redisson-netty-1-11 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local value = redis.call('hget', KEYS[1], ARGV[2]); if value == false then return nil; end; local t, val = struct.unpack('dLc0', value); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[2]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[2]); if expireIdle ~= false then if tonumber(expireIdle) > tonumber(ARGV[1]) then local value = struct.pack('dLc0', t, string.len(val), val); redis.call('hset', KEYS[1], ARGV[2], value); redis.call('zadd', KEYS[3], t + tonumber(ARGV[1]), ARGV[2]); end; expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then return nil; end; return val; , 3, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, 1505704773685, [B@4b6166aa] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@1936076882 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xea08fe2b, L:/127.0.0.1:50679 - R:/127.0.0.1:6379]]
872

There is no predictable step to reproduce the error. Some times it happens when first master joins as slave to cluster, or when failover happens multiple times.

I am able to reproduce this error only if there is > 2GB data in Redis.

@Himanshu4

This comment has been minimized.

Show comment
Hide comment
@Himanshu4

Himanshu4 Sep 19, 2017

👍

I am also facing the same issue with AWS elasticache cluster. It has a simple configuration of 1 master and 4 slaves.

Himanshu4 commented Sep 19, 2017

👍

I am also facing the same issue with AWS elasticache cluster. It has a simple configuration of 1 master and 4 slaves.

@mrniko

This comment has been minimized.

Show comment
Hide comment
@mrniko

mrniko Sep 20, 2017

Member

@Himanshu4

I made some changes related to it.
d368c94

Could you try version from master branch?

Member

mrniko commented Sep 20, 2017

@Himanshu4

I made some changes related to it.
d368c94

Could you try version from master branch?

@mrniko

This comment has been minimized.

Show comment
Hide comment
@mrniko

mrniko Sep 22, 2017

Member

Some new improvements were made

Member

mrniko commented Sep 22, 2017

Some new improvements were made

@ravi1983

This comment has been minimized.

Show comment
Hide comment
@ravi1983

ravi1983 Oct 5, 2017

@mrniko, I am unable to reproduce this issue after upgrading to version 3.5.4.

But please do not close this issue yet. I need to update the real services to use 3.5.4 and test again. I will update the status before 10/09.

ravi1983 commented Oct 5, 2017

@mrniko, I am unable to reproduce this issue after upgrading to version 3.5.4.

But please do not close this issue yet. I need to update the real services to use 3.5.4 and test again. I will update the status before 10/09.

@mrniko

This comment has been minimized.

Show comment
Hide comment
@mrniko

mrniko Oct 6, 2017

Member

@ravi1983,

Good to know that! I'm looking forward for your answer

Member

mrniko commented Oct 6, 2017

@ravi1983,

Good to know that! I'm looking forward for your answer

@ravi1983

This comment has been minimized.

Show comment
Hide comment
@ravi1983

ravi1983 Oct 12, 2017

@mrniko, unfortunately I reproduced the error again :( It happened after the second master switch.

The error starts with below stack trace, when the previous master is syncing up with new master:

org.redisson.client.RedisException: MASTERDOWN Link with MASTER is down and slave-serve-stale-data is set to 'no'.. channel: [id: 0xef859ace, L:/127.0.0.1:55809 - R:/127.0.0.1:6379] command: (EVAL), params: [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then inserta..., 8, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, redisson__map_cache__last_access__set:{test}, redisson_map_cache_removed:{test}, {test}:redisson_options, ...]
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:243)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:103)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:367)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
SPID -  2017-10-11 23:49:58 - redisson-netty-1-2 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local maxSize = tonumber(redis.call('hget', KEYS[8], 'max-size')); if maxSize ~= nil and maxSize ~= 0 then     local currentTime = tonumber(ARGV[1]);     local lastAccessTimeSetName = KEYS[6];     redis.call('zadd', lastAccessTimeSetName, currentTime, ARGV[5]);     local cacheSize = tonumber(redis.call('hlen', KEYS[1]));     if cacheSize >= maxSize then         local lruItems = redis.call('zrange', lastAccessTimeSetName, 0, cacheSize - maxSize);         for index, lruItem in ipairs(lruItems) do             if lruItem then                 local lruItemValue = redis.call('hget', KEYS[1], lruItem);                 redis.call('hdel', KEYS[1], lruItem);                 redis.call('zrem', KEYS[2], lruItem);                 redis.call('zrem', KEYS[3], lruItem);                 redis.call('zrem', lastAccessTimeSetName, lruItem);                 local removedChannelName = KEYS[7];                 local msg = struct.pack('Lc0Lc0', string.len(lruItem), lruItem, string.len(lruItemValue), lruItemValue);                 redis.call('publish', removedChannelName, msg);             end;         end;     end; end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 8, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, redisson__map_cache__last_access__set:{test}, redisson_map_cache_removed:{test}, {test}:redisson_options, 1507783798546, 1507783858546, 0, 0, PooledUnsafeDirectByteBuf(ridx: 0, widx: 5, cap: 256), PooledUnsafeDirectByteBuf(ridx: 0, widx: 3, cap: 256)] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@249083822 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xef859ace, L:/127.0.0.1:55809 - R:/127.0.0.1:6379]]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)

And when the slave is fully synced up, it starts throwing below exception:

org.redisson.client.RedisException: ERR Error running script (call to f_1659f0a2cd762e8531b75778b190b71a990cf197): @user_script:1: @user_script: 1: -READONLY You can't write against a read only slave.   . channel: [id: 0xef859ace, L:/127.0.0.1:55809 - R:/127.0.0.1:6379] command: (EVAL), params: [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then inserta..., 8, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, redisson__map_cache__last_access__set:{test}, redisson_map_cache_removed:{test}, {test}:redisson_options, ...]
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:243)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:103)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:367)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)

I tried exact same steps second time, and I did not get this error.

ravi1983 commented Oct 12, 2017

@mrniko, unfortunately I reproduced the error again :( It happened after the second master switch.

The error starts with below stack trace, when the previous master is syncing up with new master:

org.redisson.client.RedisException: MASTERDOWN Link with MASTER is down and slave-serve-stale-data is set to 'no'.. channel: [id: 0xef859ace, L:/127.0.0.1:55809 - R:/127.0.0.1:6379] command: (EVAL), params: [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then inserta..., 8, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, redisson__map_cache__last_access__set:{test}, redisson_map_cache_removed:{test}, {test}:redisson_options, ...]
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:243)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:103)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:367)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
SPID -  2017-10-11 23:49:58 - redisson-netty-1-2 - DEBUG o.r.command.CommandAsyncService - connection released for command (EVAL) and params [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then insertable = true; else local t, val = struct.unpack('dLc0', v); local expireDate = 92233720368547758; local expireDateScore = redis.call('zscore', KEYS[2], ARGV[5]); if expireDateScore ~= false then expireDate = tonumber(expireDateScore) end; if t ~= 0 then local expireIdle = redis.call('zscore', KEYS[3], ARGV[5]); if expireIdle ~= false then expireDate = math.min(expireDate, tonumber(expireIdle)) end; end; if expireDate <= tonumber(ARGV[1]) then insertable = true; end; end; if tonumber(ARGV[2]) > 0 then redis.call('zadd', KEYS[2], ARGV[2], ARGV[5]); else redis.call('zrem', KEYS[2], ARGV[5]); end; if tonumber(ARGV[3]) > 0 then redis.call('zadd', KEYS[3], ARGV[3], ARGV[5]); else redis.call('zrem', KEYS[3], ARGV[5]); end; local maxSize = tonumber(redis.call('hget', KEYS[8], 'max-size')); if maxSize ~= nil and maxSize ~= 0 then     local currentTime = tonumber(ARGV[1]);     local lastAccessTimeSetName = KEYS[6];     redis.call('zadd', lastAccessTimeSetName, currentTime, ARGV[5]);     local cacheSize = tonumber(redis.call('hlen', KEYS[1]));     if cacheSize >= maxSize then         local lruItems = redis.call('zrange', lastAccessTimeSetName, 0, cacheSize - maxSize);         for index, lruItem in ipairs(lruItems) do             if lruItem then                 local lruItemValue = redis.call('hget', KEYS[1], lruItem);                 redis.call('hdel', KEYS[1], lruItem);                 redis.call('zrem', KEYS[2], lruItem);                 redis.call('zrem', KEYS[3], lruItem);                 redis.call('zrem', lastAccessTimeSetName, lruItem);                 local removedChannelName = KEYS[7];                 local msg = struct.pack('Lc0Lc0', string.len(lruItem), lruItem, string.len(lruItemValue), lruItemValue);                 redis.call('publish', removedChannelName, msg);             end;         end;     end; end; local value = struct.pack('dLc0', ARGV[4], string.len(ARGV[6]), ARGV[6]); redis.call('hset', KEYS[1], ARGV[5], value); if insertable == true then local msg = struct.pack('Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6]); redis.call('publish', KEYS[4], msg); return nil;end; local t, val = struct.unpack('dLc0', v); local msg = struct.pack('Lc0Lc0Lc0', string.len(ARGV[5]), ARGV[5], string.len(ARGV[6]), ARGV[6], string.len(val), val); redis.call('publish', KEYS[5], msg); return val, 8, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, redisson__map_cache__last_access__set:{test}, redisson_map_cache_removed:{test}, {test}:redisson_options, 1507783798546, 1507783858546, 0, 0, PooledUnsafeDirectByteBuf(ridx: 0, widx: 5, cap: 256), PooledUnsafeDirectByteBuf(ridx: 0, widx: 3, cap: 256)] from slot NodeSource [slot=null, addr=null, redirect=null] using connection RedisConnection@249083822 [redisClient=[addr=/127.0.0.1:6379], channel=[id: 0xef859ace, L:/127.0.0.1:55809 - R:/127.0.0.1:6379]]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)

And when the slave is fully synced up, it starts throwing below exception:

org.redisson.client.RedisException: ERR Error running script (call to f_1659f0a2cd762e8531b75778b190b71a990cf197): @user_script:1: @user_script: 1: -READONLY You can't write against a read only slave.   . channel: [id: 0xef859ace, L:/127.0.0.1:55809 - R:/127.0.0.1:6379] command: (EVAL), params: [local insertable = false; local v = redis.call('hget', KEYS[1], ARGV[5]); if v == false then inserta..., 8, test, redisson__timeout__set:{test}, redisson__idle__set:{test}, redisson_map_cache_created:{test}, redisson_map_cache_updated:{test}, redisson__map_cache__last_access__set:{test}, redisson_map_cache_removed:{test}, {test}:redisson_options, ...]
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:243)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:103)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:367)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1359)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:935)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:134)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:580)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:497)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
	at java.lang.Thread.run(Thread.java:745)

I tried exact same steps second time, and I did not get this error.

@mrniko mrniko closed this Mar 10, 2018

@mrniko mrniko added the bug label Mar 21, 2018

@mrniko mrniko modified the milestones: 2.10.1, 2.11.4 Mar 21, 2018

@mrniko

This comment has been minimized.

Show comment
Hide comment
@mrniko

mrniko Mar 21, 2018

Member

Fixed

Member

mrniko commented Mar 21, 2018

Fixed

@mrniko mrniko closed this Mar 21, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment