Redis Enterprise Software Release Notes 5.4.4 (June 2019)
Redis Enterprise Software (RS) 5.4.4 is now available. This release enables the functionality of Active-Active Redis (CRDB) combined with RoF (Auto Tiering), supports the creation of Redis databases with multiple modules, and adds other enhancements and bug fixes.
Overview
Follow these instructions for upgrading to RS 5.4.4 from RS 5.0 and above. If you have a version older than 5.0, you must first upgrade to version 5.2 (or at least 5.0).
New features
Active-Active Redis with RoF
RS 5.4.4 lets you create Active-Active Redis databases (CRDBs) with Auto Tiering and get the benefits of geo-distributed Redis databases along with the significant cost savings of using Auto Tiering.
Support for multiple modules
RS 5.4.4 supports the creation and management of Redis databases with a combination of any of the following GA modules:
- RediSearch (GA)
- RedisGraph (GA)
- RedisBloom (GA)
- RedisJSON (GA)
To upgrade databases with multiple modules, you can use the rladmin upgrade
command.
rladmin upgrade
command now requires that the module_args parameter be written inside quotation marks.-
To upgrade only the modules within an existing database, for example with RedisBloom (bf) and RedisJSON:
rladmin upgrade module db_name db1 module_name bf version 10003 module_args "" module_name ReJSON version 10001 module_args ""
-
To upgrade a database with its modules, for example db1 with RediSearch and RedisGraph:
rladmin upgrade db db1 and module module_name redisearch version 103 module_args "ON_TIMEOUT FAIL NOGC" and module module_name graph version 10016 module_args ""
You can also upgrade the modules with the REST API.
-
To upgrade multiple modules, enter the details of each module in the
modules
parameter:curl -X POST -u "demo@redislabs.com:password" -H "Content-Type: application/json" -d '{"modules":[{"module_name": "ReJSON", "current_module": "<module_uid>", "new_module": "<module_uid>", "new_module_args": "", "current_semantic_version":"1.0.4"}, {"module_name":"ft","current_module":"<module_uid>","new_module": "<module_uid>","current_semantic_version":"1.4.3", "new_module_args":"PARTITIONS AUTO"}], "force_restart":true}' https://127.0.0.1:9443/v1/bdbs/2/modules/upgrade
-
To upgrade a single module, you can either:
- Enter the details of the module in the
modules
parameter - Enter the details of the module without the
modules
parameter, as in previous releases
- Enter the details of the module in the
Additional capabilities
- Support for persistence of AOF every 1 second in Active-Active Redis (CRDB), in addition to AOF every write. We recommend that you use AOF every 1 second for the best performance during the initial CRDB sync of a new replica.
- NGINX version updated to 1.14.2
Information
- Stay up to date with the End of Life (EOL) Policy for RS 5.4 and all previous RS versions.
Important fixes
- RS26508 - Fixed redis-cli failure for a specific CRDB data type.
- RS29191 - Fixed a failure when removing a replica from a CRDB.
- RS29097 - Fixed a misconfiguration when using SFTP backup and encounter a node failure.
- RS28286 - Updated
SETEX
andPSETEX
commands output of CRDB to match Redis outputs. - RS26984 - Fixed metrics_exporter reports for node and shard level metrics.
- RS19854 - Fixed uploading a Redis Module so you can upload a Redis Module when the admin console is connected to any node.
- RS29238 - Improved the compression performance in CRDB.
Known limitations
Upgrade
- RS 5.4.2 introduced new Active-Active Redis (CRDB) capabilities that improve its compatibility with open source Redis. Now the string data-type in CRDB is implicitly and dynamically typed, just like open source Redis. To use the new capabilities on nodes that are upgraded from version RS 5.4.2 or lower, you must upgrade the CRDB protocol.
- Before you upgrade a database with RediSearch Module to Redis 5.0, you must upgrade the RediSearch Module to version 1.4.2 or above.
- Node upgrade fails if the SSL certificates were configured in version 5.0.2 or above by manually updating the certificates on the disk instead of updating them through the API. For assistance with this issue, contact Redis support.
- We recommend that you test module upgrade commands in a test environment before you upgrade modules in a production environment. The module upgrade arguments are not validated during the upgrade process and incorrect arguments can cause unexpected downtime.
- Starting from RS 5.4.2, to preserve the current Redis major.minor version during database upgrade you must use the
keep_redis_version
option instead ofkeep_current_version
.
Subscriptions
- If a user subscribes to a channel during recovery of a CRDB from AOF, the user receives old messages that are stored in the AOF file.
Cluster API
-
The API for removing a node is updated in RS 5.4.2 or higher. The API call must include json data and the "Content-Type: application/json" header. For example:
curl -X POST -H "Content-Type: application/json" -i -k -u user@redislabs.com:passsword https://localhost:9443/v1/nodes/3/actions/remove --data "{}"
Redis commands
- The capability of disabling specific Redis commands does not work on commands specific to Redis Modules.
- The CLIENT ID command cannot guarantee incremental IDs between clients that connect to different nodes under multi proxy policies.
- CLIENT UNBLOCK command is not supported in RS 5.4.x
- Starting from RS 5.4.2 and after upgrading the CRDB, TYPE command for string data-type in CRDBs return "string" (OSS Redis standard).