Skip to content

Conversation

@PavelPashov
Copy link
Contributor

@PavelPashov PavelPashov commented Oct 20, 2025

Description

This PR fixes several issues related to the CLIENT SETINFO commands:

  1. 2030 & 2031 When using reconnectOnError in client configurations with Redis servers older than version 7.2.x. In these cases, ioredis attempts to execute the CLIENT SETINFO command, which is not supported in older Redis versions. When combined with reconnectOnError, this results in continuous reconnection attempts. To address this, an IGNORE_RECONNECT_ON_ERROR command flag has been introduced, currently applied only to the CLIENT command.

  2. 2031 When using cluster with autopipelining. The CLIENT command should be included in the notAllowedAutoPipelineCommands

  3. 2025 When using DragonflyDB, now the CLIENT SETINFO commands are issued in the connectHandler instead of the readyHandler

@PavelPashov PavelPashov force-pushed the refactor/relocate-client-setinfo-commands branch from 02e4a99 to f025d4b Compare October 20, 2025 14:07
@PavelPashov PavelPashov force-pushed the refactor/relocate-client-setinfo-commands branch from dbc7ead to 5c9a2e9 Compare October 21, 2025 10:13
@PavelPashov PavelPashov marked this pull request as ready for review October 21, 2025 12:08
Copy link
Member

@bobymicroby bobymicroby left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@PavelPashov PavelPashov force-pushed the refactor/relocate-client-setinfo-commands branch from 0a8ca39 to 721008d Compare October 21, 2025 13:19
@PavelPashov PavelPashov merged commit fcbbbe8 into redis:main Oct 21, 2025
9 checks passed
@PavelPashov PavelPashov deleted the refactor/relocate-client-setinfo-commands branch October 21, 2025 13:24
github-actions bot pushed a commit that referenced this pull request Oct 21, 2025
## [5.8.2](v5.8.1...v5.8.2) (2025-10-21)

### Bug Fixes

* default IP family selection to 0 ([#2028](#2028)) ([fb082d6](fb082d6)), closes [#2026](#2026)
* move CLIENT SETINFO commands to connection handshake ([#2033](#2033)) ([fcbbbe8](fcbbbe8))
@github-actions
Copy link

🎉 This PR is included in version 5.8.2 🎉

The release is available on:

Your semantic-release bot 📦🚀

simong added a commit to simong/ioredis that referenced this pull request Nov 3, 2025
* origin/main:
  chore(release): 5.8.2 [skip ci]
  fix: move CLIENT SETINFO commands to connection handshake (redis#2033)
  ci(test): add redis matrix and update docker compose file (redis#2034)
  docs(example): add example for setting TTL to "HSET Field" (redis#2027)
  fix: default IP family selection to 0 (redis#2028)
  chore(release): 5.8.1 [skip ci]
  test: add scenario tests v5 (redis#2020)
  fix(ssubscribe): re-subscribe sharded pubsub channels individually (redis#2021)
  chore(release): 5.8.0 [skip ci]
  feat: support client setinfo (redis#2011)
  feat(stream): Add XDELEX command (redis#2003)
  Add stale issue management workflow (redis#2018)
  feat: implement proper hpexpire command signatures and tests (redis#2006)
  feat: add more xtrim method overloads and tests (redis#2010)
  test(cluster): fix and add cluster tests in CI (redis#2017)
  Force slots refresh on MOVED error when using ssubscribe (redis#2013)
  fix(ssubscribe): re-subscribe sharded pubsub channels individually on ready (redis#2012)
  chore(release): 5.7.0 [skip ci]
  fix: xread example for TypeScript (redis#1872)
  feat: Implement hexpire for redis#1898 (redis#1918)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants