Redis Enterprise Software Release Notes 6.0 (May 2020)
ACL and RBAC improvements for database access. Active-Active databases support Redis Streams.
Redis Enterprise Software (RS) 6.0 is now available! This new version bundles open-source Redis 6, implements enhanced Access Control List (ACL) capabilities using Role-Based Access Control (RBAC) for database access, and adds the support of Redis Streams on Active-Active databases.
Version information
Upgrade instructions
Follow these instructions for upgrading to RS 6.0 from RS 5.4.0 and above. For Active-Active deployments, this release requires that you upgrade the CRDB featureset version.
End of life
End of Life (EOL) for Redis Enterprise Software 6.0 and previous RS versions, can be found here. EOL for Redis Modules can be found here.
- Support for Red Hat Enterprise Linux 6 and Oracle Linux 6 operating systems platforms will end on November 30, 2020.
- Support for Ubuntu 14.04 (Trusty Tahr) operating systems platforms will end on November 30, 2020.
New features
Open source Redis 6
RS 6.0 bundles latest open source Redis 6. For more information, check out the Diving into Redis 6 article.
Access control list (ACL)
Based on OSS Redis 6, RS 6.0 offers the ability to manage and control connections to your databases using users and their data access permissions in terms of commands they can execute and keys they can access.
In OSS Redis, the ACLs are managed separately per user for each database. In Redis Enterprise Software, Redis ACLs are managed for the databases at the cluster. For more information, check out the Redis Enterprise Software user management documentation.
Role-based access control (RBAC)
RS 6.0 leverages Redis ACLs to implement role-based access control that easily scale and manage data access permissions. Using roles minimizes the overhead involved in managing a cluster with many databases, multiple users, and various access control lists. For more information, check out the Redis Enterprise Software user management documentation.
Active-Active support for Redis Streams
RS 6.0 adds support for Redis streams on Active-Active geo-distributed databases using conflict-free replicated data type (CRDT). You can now use all Redis streams commands including consumer groups on Active-Active databases. To enable it, upgrade your Active-Active database featureset version to the latest (featureset version = 2) as part of the upgrade process. For more information, check out Redis Streams on Active Active databases.
Redis modules
The following GA releases of Redis Modules are bundled in RS 6.0:
- RedisBloom, version 2.2.2 (updated)
- RedisGraph, version 2.0.11 (updated)
- RedisJson, version 1.0.4
- RediSearch, version 1.6.12 (updated)
- RedisTimeSeries, version 1.2.5 (updated)
To use the updated modules with a database, you must upgrade the module on the database.
Additional capabilities
-
Added the ability to configure a storage service that uses the S3 protocol. Configuration for backup location and for import and export locations of RDB files is possible. The storage service must have a valid SSL certificate. To connect to an S3-compatible storage location, run:
rladmin cluster config s3_url <url>
-
The crdb-cli tool was updated so it is now displaying the Active-Active database’s featureset version and the protocol version per instance. For example:
$ crdb-cli crdb list --verbose CRDB-GUID NAME REPL-ID PROTOCOL FEATURESET DB-ID CLUSTER-FQDN 969122be-... loremipsum1 1 0 0 bdb:1 cluster1.local 969122be-... loremipsum1 2 0 0 bdb:1 cluster2.local
-
Added REST API and rladmin commands to modify the timeout for automatically disconnecting an inactive admin console session.
-
Using the rladmin run:
rladmin cluster config cm_session_timeout_minutes <int_value>
-
Using the REST API:
curl --request PUT \ --url https://localhost:9443/v1/cluster \ --header 'content-type: application/json' \ --data '{ "cm_session_timeout_minutes": 10 }'
-
-
Added
no_of_expires
metrics for database metrics and for shard metrics. You can access this metric from the REST API:no_of_expires
shows the current number of volatile keys in the database.expired_objects
shows the rate of keys expired in DB (expirations/sec).
-
Added the ability to customize the welcome message on the login page in the admin console console.
Important fixes
- RS39121, RS35335 - Optimized the XREAD and XREADGROUP commands so when using them in a non blocking fashion (without BLOCK keyword) they use the shared connection instead of a dedicated connection.
- RS26448 - Fixed ‘ram overhead’ metric calculation for ROF databases using AOF.
- RS31190 - Fixed a bug that causes databases with OSS Cluster API enabled to override the ‘preferred IP type’ attribute from ‘external’ to ‘internal’ (the default value).
- RS34009 - Updated the modules loading procedure for clusters with FIPS compliance enabled.
- RS38233 - Improved the Redis cleanup job handling the persistent directory
- RS39228 - Fixed a bug in the WAIT command that in some cases was released after a longer period than requested.
- RS39749 - Fixed a bug that blocked eviction while LUA scripts were in progress.
- RS43996 - Fixed a bug when aborting an upgrade to RS 6.0.
Known limitations
-RS81463 - A shard may crash when resharding an Active-Active database with Auto Tiering . Specifically, the shard will crash when volatile keys or Active-Active tombstone keys reside in Flash memory.
Active-Active databases
- RS51359 - Active-Active databases, using replication and Append Only File (AOF) for database persistence, are suffering from memory leaks on replica shards, causing them to grow bigger than the master shards. Customers are advised to upgrade to RS 6.0.12 TBD. Meanwhile you can use snapshots for database persistence or restart the replica shards TBD.
Installation limitations
Several Redis Enterprise Software installation reference files are installed to the directory /etc/opt/redislabs/
even if you use custom installation directories.
As a workaround to install Redis Enterprise Software without using any root directories, do the following before installing Redis Enterprise Software:
-
Create all custom, non-root directories you want to use with Redis Enterprise Software.
-
Mount
/etc/opt/redislabs
to one of the custom, non-root directories.
Upgrade
- 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 lower to version RS 5.4.4 or higher:
- If replication is enabled, you must run the BGREWRITEAOF command on all replica shards after the upgrade.
- If replication is not enabled, you must run the BGREWRITEAOF command on all shards after the upgrade.
- 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.
- Dynatrace agent installed on the cluster nodes can hamper the working on Envoy process leading to failure of UI and REST API. Prior upgrading we recommend removing Dynatrace completely or try upgrading to newer versions.
Redis commands
- The capability of disabling specific Redis commands does not work on commands specific to Redis Modules.
- Starting from RS 5.4.2 and after you upgrade an Active-Active database, TYPE commands for string data-type in Active-Active databases return "string" (OSS Redis standard).