Skip to content

Support downgrading RESTOREMODAUX#92

Merged
moticless merged 1 commit intoredis:mainfrom
moticless:support-restoremodaux-downgrade
Feb 25, 2026
Merged

Support downgrading RESTOREMODAUX#92
moticless merged 1 commit intoredis:mainfrom
moticless:support-restoremodaux-downgrade

Conversation

@moticless
Copy link
Collaborator

Extend RDB version downgrade logic to handle module auxiliary data, not
just module keys. When restoring module aux data to an older Redis
version, the RDB version header is now adjusted to match the target.

Why this is valid:
Module auxiliary data is opaque to Redis, just a blob the module
serializes/deserializes itself. The RDB version only tells Redis how to
parse the envelope, not the module's internal payload. Downgrading the
version header is safe because Redis accepts the RESTORE command, and
the module decodes its unchanged blob correctly.

Note: RESTOREMODAUX command is available only in Redis Enterprise.

@moticless moticless merged commit 35f0f1a into redis:main Feb 25, 2026
9 of 12 checks passed
@moticless moticless mentioned this pull request Mar 1, 2026
moticless added a commit that referenced this pull request Mar 1, 2026
### New Features
- **RDB v13 Support**: Add support for RDB version 13 (#93)
  - Ensures compatibility with latest Redis RDB format, specifically key-metadata and stream IDMP
- **RESTOREMODAUX Downgrading**: Support downgrading RESTOREMODAUX commands (#92)
  - Enables compatibility when restoring to older Redis versions
- **Redis Enterprise Support**: Skip new Redis Enterprise RDB_OPCODE_SLOT_NUM opcode (#91)
  - Improves compatibility with Redis Enterprise RDB files
- **Authentication**: Add LIBRDB_AUTH environment variable support for password authentication
  - Simplifies authentication configuration in automated environments

### Bug Fixes
- **Error Handling**: Add goto cleanup on rdb-cli return error
  - Ensures proper resource cleanup on error conditions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants