New error with v3.17.4 and how to do read only
See original GitHub issueAfter upgrading to 3.17.4 I have a new error in my logs not previously seen:
org.redisson.client.RedisException: ERR Error running script (call to f_134cd359e18d2acd4e083ed8eba74aca3024e815): @user_script:1: @user_script: 1: -READONLY You can't write against a read only replica.. channel: [id: 0x25059142, L:/127.0.0.1:62151 - R:localhost/127.0.0.1:6379] command: (EVAL), promise: java.util.concurrent.CompletableFuture@6568c9ba[Not completed, 1 dependents], params: [if redis.call('setnx', KEYS[6], ARGV[4]) == 0 then return -1;end;redis.call('expire', KEYS[6], ARGV[..., 6, geofencingZonesCache_10, redisson__timeout__set:{geofencingZonesCache_10}, redisson__idle__set:{geofencingZonesCache_10}, redisson_map_cache_expired:{geofencingZonesCache_10}, redisson__map_cache__last_access__set:{geofencingZonesCache_10}, redisson__execute_task_once_latch:{geofencingZonesCache_10}, 1659612415403, 100, ...]\n\tat org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:370)\n\tat org.redisson.client.handler.CommandDecoder.decodeCommand(CommandDecoder.java:198)\n\tat org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:137)\n\tat org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:113)\n\tat io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:510)\n\tat io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:366)\n\tat io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:279)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)\n\tat io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)\n\tat io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)\n\tat io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:722)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:658)\n\tat io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:584)\n\tat io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496)\n\tat io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:986)\n\tat io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)\n\tat io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)\n\tat java.base/java.lang.Thread.run(Thread.java:832)
We use google memorystore with redis, and read replicas. For performance reasons we have 2 kubernetes deployments, one which writes to the main endpoint, and the other reading from the read replica endpoint.
The error above is from the deployment which is only supposed to read, not do any writing.
It’s starting to occur to me that I maybe should configure these deployments differently with regards to redisson? Right now they use the same config using single server just pointing to different endpoints.
Why am I only getting this error with upgrade to 3.17.4, and can you point me towards the proper way to configure this setup?
Thanks in advance!
Issue Analytics
- State:
- Created a year ago
- Comments:7 (7 by maintainers)
Top Results From Across the Web
TypeError: "x" is read-only - JavaScript - MDN Web Docs
This error happens only in strict mode code. In non-strict code, the assignment is silently ignored. Examples. Invalid cases. Read- ...
Read more >Errors | Node.js v19.2.0 Documentation
AssertionError s are a special class of error that can be triggered when Node.js detects an exceptional logic violation that should never occur....
Read more >Visual Studio 2022 Release Notes | Microsoft Learn
Get the latest features, bug fixes, and support for Visual Studio 2022. Download today. ... Visual Studio 2022 version 17.4 Release Notes.
Read more >Fixed issues in InDesign - Adobe Support
Here's the list of issues we fixed in the latest release of InDesign. ... [macOS only] ID crashes on saving to a read-only...
Read more >Forms in HTML documents - W3C
When a form is submitted, only "on" checkbox controls can become successful. ... 17.4.2 Examples of forms containing INPUT controls.
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

I have now rolled out MasterSlaveServerConfiguration with the newest version of redisson and I am now no longer seeing this error, so closing this issue 👍
Is the MasterSlaveServerConfiguration the appropriate one to use in this scenario?