Redis Enterprise Software (RS) 5.6.0 is now available. This major version release includes:

  • Improved installation process to be customizable
  • Support for the HyperLogLog data type in Active-Active databases
  • RedisJSON support in Redis on Flash databases
  • Support for Redis OSS Cluster API for Active-Active and Replica Of databases
  • Slave HA enabled by default for Active-Active databases
  • Cloud backup locations support
  • Support for Red Hat Enterprise Linux version 7.7, 7.8
  • Additional enhancements, and minor bug fixes

Information

Upgrade

End of Life

  • End of Life (EOL) for Redis Enterprise Software 5.6 and previous RS versions can be found here. EOL for Redis Modules can be found here.
  • Support of Red Hat Enterprise Linux 6 and Oracle Linux 6 operating systems platforms will end on November 30, 2020.
  • Support of OpenStack Object Storage ("Swift") for backup, import and export location will end on November 30, 2020.

New Features

Redis Software Installer

Redis Enterprise Software installer adds the ability to specify custom installation paths and a custom installation user, group, or both on RHEL versions 6 and 7.

When you run the installer you can specify the installation, the configuration and the var as well as the user and the group:

sudo ./install.sh --install-dir <path> --config-dir <path> --var-dir <path> --os-user <user> --os-group <group>

For more information, check out the Redis Enterprise Software installer documentation.

Hyperloglog on Active-Active

RS 5.6.0 adds the support of HyperLogLog data structure for Active-Active Redis Databases.

Because HyperLogLog is a counting data structure by nature, conflicts can occur when deleting entries. For efficiency, performance and memory considerations, conflicts between instances are resolved with DEL (delete) operations winning over ADD operations that took place in concurrent or before the DEL operation.

For more information, check out the HyperLogLog on Active-Active documentation.

RedisJSON on Redis on Flash

RS 5.6.0 adds support for Redis on Flash (RoF) databases with Redis Modules. RedisJSON is the first module to be available to run on a Redis on Flash database.

Using RedisJSON on Redis on Flash allows you to benefit from high performance redis with high data volume at lower costs.

OSS Cluster API Support

For more information, check out the OSS Cluster API documentation.

Support for Active-Active and Replica Of databases

You can configure Active-Active and Replica Of databases to use the OSS Cluster API using the web UI. The OSS Cluster API improves the performance of user operations against your database.

You can also create or modify an Active-Active Redis database in OSS Cluster mode using the crdb-cli tool with the --oss-cluster option to apply the changes to all of the instances.

Create and edit database using the web UI

You can configure OSS Cluster API for databases using the web UI.

For Active-Active databases, you can create the database with OSS Cluster API enabled for all of its instances. When you enable OSS Cluster after the Active-Active database is created, the change applies only to the local instance.

Slave HA defaults for Active-Active

To enhance the availability and the consistency of Active-Active Geo-Distributed Redis, Slave HA is enabled by default for all existing and new Active-Active Redis Databases.

To disable Slave HA for for a local instance of an Active-Active database, run this command on the instance: rladmin tune db <bdb_uid> slave_ha disabled

Cloud Backup Locations Support

Redis Enterprise 5.6.0 adds the ability to configure Azure Blob Storage and Google Cloud Storage as backup, import, and export locations.

Red Hat Enterprise Linux 7.7, 7.8

Redis Enterprise 5.6.0 adds RHEL 7.7, 7.8 to its supported platforms.

Redis Modules

The following GA releases of Redis Modules are bundled in RS 5.6.0:

Additional Capabilities

  • OSS Redis version 5.0.8 is merged into RS 5.6.0.
  • Starting RS 5.6.0, to upgrade modules during database upgrade you must use the module_args option instead of keep_module_args or or “ ” (for no arguments). The module_args option must follow with one of the following (Always in quotation marks): “keep_args” or “ “ or “”. For more info and examples, check out upgrading Redis Modules documentation .
  • rladmin adds the ability to demote the cluster master node when setting it to maintenance mode by using the demote_node option:
rladmin node <node_uid> maintenance_mode on demote_node
  • The SENTINEL MASTER command output format was updated to be aligned with OSS equivalent output.

Important Fixes

  • RS38315, RS33747 - Added the LUA script name (SHA) and its arguments to the warning message indicating the LUA script has been running for more than 5 seconds.
  • RS38706 - Fixed a bug which caused a stuck state machine in some scenarios of restoring DB from RDB.
  • RS34309 - Improved internal passwords handling.
  • RS38498 - Fixed a bug in the upgrade process of a database to avoid failure when saving large RDB (Redis Database Backup) file.
  • RS38706 - Fixed a bug that caused a stuck state machine after restoring a snapshot of an Active-Active database.

Known Limitations

Upgrade Notes

  • RS 5.4.2 introduced new Active-Active Redis Database capabilities that improve its compatibility with open source Redis. Now the string data-type in Active-Active Redis Database 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 Active-Active Redis Database protocol.
  • When you upgrade an Active-Active Redis with active AOF from version RS 5.4.2 or earlier to version RS 5.4.4 or later:
    • If replication is enabled, you must run the BGREWRITEAOF command on all slave shards after the upgrade.
    • If replication is not enabled, you must run the BGREWRITEAOF command on all shards after the upgrade.
  • 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 Support.
  • 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 of keep_current_version.
  • Google Chrome browser on macOS Catalina requires a self-signed certificate generated after June 2019 to include the extendedKeyUsage field in order to connect to the RS web UI. If you use a self-signed certificate that does not include this field, update the self-signed certificate.
  • If you want to upgrade with ./install.sh -y , make sure that firewalld is running. If firewalld is not running, the upgrade succeeds but may result in unexpected behavior.

Modules Upgrade

  • 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.
  • 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.

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:password https://localhost:9443/v1/nodes/3/actions/remove --data "{}"

Discover Service

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 and above
  • Starting from RS 5.4.2 and after upgrading the CRDB, TYPE commands for string data-type in CRDBs return "string" (OSS Redis standard).