Add configuration to enable Redis Cluster topology refresh

See original GitHub issue

Redis Cluster can be reconfigured at runtime and Redis clients should to pick up these changes to stay operable. Updating the topology is a specialized topic on its own as Redis Cluster does not push changes to the client but rather clients need to poll topology changes.

Automated (background) topology refresh is currently supported only by Lettuce via ClusterClientOptions and a nested ClusterTopologyRefreshOptions object. Jedis does not support background topology refreshing.

It would make sense to provide some means to configure cluster topology refresh. The way how Lettuce topology updating is configured (setting ClusterClientOptions via LettuceClientConfigurationBuilder) might contradict with LettuceClientConfigurationBuilderCustomizer.

What do you think?

See also:

  • lettuce-io/lettuce-core#955
  • xetorthio/jedis#1347

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:12 (7 by maintainers)

github_iconTop GitHub Comments

2reactions
ldwntcommented, Oct 15, 2019

@mp911de @wilkinsona Do you any plan for including this feature in a new release? I’d really appreciate it if the topology refresh feature could be supported by spring boot, so that my RedisTemplate related code does not need to be re-written~

0reactions
snicollcommented, Sep 14, 2020

@superbool new features are not added to maintenance releases. 2.3.x is in maintenance as well in the meantime so please upgrade to that.

Read more comments on GitHub >

github_iconTop Results From Across the Web

ClusterTopologyRefreshOptions (Lettuce 5.1.0.M1 API)
Create a new ClusterTopologyRefreshOptions using default settings with enabled periodic and adaptive refresh. Returns: a new instance of default cluster ...
Read more >
Redis cluster specification
The first four commands, ADDSLOTS , DELSLOTS , ADDSLOTSRANGE and DELSLOTSRANGE , are simply used to assign (or remove) slots to a Redis...
Read more >
Lettuce client for Redis - Cluster Topology Refresh Options not ...
The enablePeriodicRefresh() setting works after the connection timeout. You don't set the connection timeout, but it defaults to 60sec.
Read more >
lettuce-io/Lobby - Gitter
Now when I restart the Redis cluster and each node changed it's IP ... You need to enable topology refresh so Lettuce can...
Read more >
Redis Cluster topology - VMware Docs
By default the Redis Cluster is not accessible from outside the Kubernetes cluster, to access the Redis Cluster from outside you have to...
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