question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

New error with v3.17.4 and how to do read only

See original GitHub issue

After 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:closed
  • Created a year ago
  • Comments:7 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
testowercommented, Aug 9, 2022

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 👍

0reactions
testowercommented, Aug 5, 2022

Is the MasterSlaveServerConfiguration the appropriate one to use in this scenario?

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found