Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: redis/ioredis
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v5.9.1
Choose a base ref
...
head repository: redis/ioredis
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v5.9.2
Choose a head ref
  • 4 commits
  • 14 files changed
  • 4 contributors

Commits on Jan 15, 2026

  1. fix(cluster): Cluster reconnect sharded subscribers (#2060)

    * fix: trigger reconnect when sharded subscriber slots refresh fails
    
    When all sharded subscriber connections fail and the subsequent slots cache
    refresh returns ClusterAllFailedError, the cluster now properly enters
    reconnecting state instead of becoming zombied. This occurs when the cluster
    topology changes and all nodes are replaced with new IPs - the subscriber
    connections fail, triggering a slots refresh via the "-node" event handler.
    If this refresh fails (e.g., the duplicated connection for CLUSTER SLOTS
    times out or closes), the cluster becomes stuck in "ready" state with no
    working connections because normal pool connections use lazyConnect: true
    and never emit "end" events to trigger the drain->close->reconnect cycle.
    Now subscriber-triggered refreshSlotsCache() calls use a dedicated callback
    that detects ClusterAllFailedError and calls disconnect(true) to force
    reconnection, preventing the zombie state.
    
    * test: ensure reconnect after sharded subscriber failure
    PavelPashov authored Jan 15, 2026
    Configuration menu
    Copy the full SHA
    def9804 View commit details
    Browse the repository at this point in the history
  2. fix: preserve replica slots on MOVED in pipelines (#2059)

    * Fixed issue with moved command for replicas
    
    * refactor: add tabulation
    
    * test: fix tests
    
    * test: fix tests
    
    * fix: add else statement when cluster.slots[errv[1]] does not exist
    
    ---------
    
    Co-authored-by: devandscorp <artemda4@gmail.com>
    DevandScorp and devandscorp authored Jan 15, 2026
    Configuration menu
    Copy the full SHA
    a1c3e9d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    517b932 View commit details
    Browse the repository at this point in the history
  4. chore(release): 5.9.2 [skip ci]

    ## [5.9.2](v5.9.1...v5.9.2) (2026-01-15)
    
    ### Bug Fixes
    
    * **cluster:** Cluster reconnect sharded subscribers ([#2060](#2060)) ([def9804](def9804))
    * preserve replica slots on MOVED in pipelines ([#2059](#2059)) ([a1c3e9d](a1c3e9d))
    
    ### Reverts
    
    * Revert "fix: preserve replica slots on MOVED in pipelines (#2059)" (#2062) ([517b932](517b932)), closes [#2059](#2059) [#2062](#2062)
    ioredis-robot authored and semantic-release-bot committed Jan 15, 2026
    Configuration menu
    Copy the full SHA
    4cf4d99 View commit details
    Browse the repository at this point in the history
Loading