Skip to content

Support for Cluster Mode? #90

Description

@dkolas

Hi there,

When connected to our Redis Cluster, we're getting a lot of errors of the form:

MOVED 12858 <internal-ip>:6379

From looking at the post here: https://forums.swift.org/t/redistack-future-plans/65703
and the fact that there isn't a RedisClusterClient yet, my understanding is that this client doesn't yet support cluster mode, and my best option is to reduce it to a single shard/replica for now. Is that correct?

Activity

  1. fabianfett commented on Sep 14, 2023

    @fabianfett
    Member

    Hi @dkolas,

    thanks for bringing this up. I have a cluster implementation that I need to start to upstream.

    my best option is to reduce it to a single shard/replica for now. Is that correct?

    That is correct!

  2. self-assigned this
    on Sep 14, 2023
  3. dkolas commented on Sep 14, 2023

    @dkolas
    Author

    @fabianfett Thanks for the quick response.

    Everything appears to be working smoothly now with a non-clustered deployment. I'll keep an eye out for the changes!

  4. fabianfett commented on Sep 18, 2023

    @fabianfett
    Member

    You can track progress here:
    Milestone: Redis Cluster support

  5. Jinxiansen commented on Feb 28, 2024

    @Jinxiansen

    @fabianfett
    Hi Fabian
    Do we already support Cluster? I tried to get some Redis IP list through the internal URL, but got this error:

    [ ERROR ] command failed [error: (Redis) CROSSSLOT Keys in request don't hash to the same slot, rdstk_conn_id: 85C7A6C1-EAB9-4E80-B845-BD34ECCF0486, rdstk_conpool_id: 284305BD-D3AC-4423-B13E-DB792CC9FA91]
    [ ERROR ] Job run failed: RedisError(message: "(Redis) CROSSSLOT Keys in request don\'t hash to the same slot")
    

    Used in Vapor:

    let pool = RedisConfiguration.PoolOptions(maximumConnectionCount: .maximumActiveConnections(2),
                                                      minimumConnectionCount: 0,
                                                      connectionBackoffFactor: 2,
                                                      initialConnectionBackoffDelay: .milliseconds(100),
                                                      connectionRetryTimeout: config.redisConnectionTimeout)
    let redisConfig = try RedisConfiguration(serverAddresses: redisAddresses,
                                                     password: config.redisPassword,
                                                     pool: pool)
            
    app.queues.use(.redis(redisConfig))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions