|
| 1 | +--- |
| 2 | +Title: Redis Enterprise Software Release Notes 6.0.12 (January 2020) |
| 3 | +description: |
| 4 | +weight: 78 |
| 5 | +alwaysopen: false |
| 6 | +categories: ["RS"] |
| 7 | +--- |
| 8 | +[Redis Enterprise Software (RS) 6.0.12](https://redislabs.com/download-center/#downloads) is now available! |
| 9 | +This version includes the following new features and improvements: |
| 10 | + |
| 11 | +- [Synchronization](https://docs.redislabs.com/latest/rs/administering/designing-production/active-active/#syncer-process) can now be [distributed across the nodes](https://docs.redislabs.com/latest/rs/administering/cluster-operations/synchronization-mode/) of Active-Active or Active-Passive databases |
| 12 | +- You can [disable several internal RS services](https://docs.redislabs.com/latest/rs/administering/troubleshooting/disabling-services/) to free up more memory |
| 13 | +- User accounts can have multiple passwords to allow for [password rotation](https://docs.redislabs.com/latest/rs/administering/access-control/password-rotation/) |
| 14 | +- [Dependencies are automatically installed](https://docs.redislabs.com/latest/modules/add-module-to-cluster/#adding-a-module-using-the-rest-api) when you add modules to a cluster |
| 15 | +- [Envoy replaces NGINX](https://docs.redislabs.com/latest/rs/administering/designing-production/networking/port-configurations/) for internal cluster administration |
| 16 | +- Automatic recovery of the [syncer process](https://docs.redislabs.com/latest/rs/administering/designing-production/active-active/#syncer-process) from out-of-memory (preview mode) |
| 17 | + |
| 18 | +And other functional and stability improvements. |
| 19 | + |
| 20 | +### Version information |
| 21 | + |
| 22 | +#### Upgrade instructions |
| 23 | + |
| 24 | +- Follow [these instructions](https://docs.redislabs.com/latest/rs/installing-upgrading/upgrading/) for upgrading to RS 6.0.12 from RS 5.4.0 and above. |
| 25 | +- For Active-Active deployments, this release requires that you [upgrade the CRDB featureset version](https://docs.redislabs.com/latest/rs/installing-upgrading/upgrading/#upgrading-activeactive-databases). |
| 26 | + |
| 27 | +#### Product lifecycle information |
| 28 | + |
| 29 | +- End of Life (EOL) for Redis Enterprise Software 6.0 and previous RS versions, can be found [here](https://docs.redislabs.com/latest/rs/administering/product-lifecycle/). |
| 30 | +- EOL for Redis modules can be found [here](https://docs.redislabs.com/latest/modules/modules-lifecycle/#modules-endoflife-schedule). |
| 31 | + |
| 32 | +#### Deprecation Notice |
| 33 | + |
| 34 | +- Support for RS 5.4.X ended on December 31, 2020. |
| 35 | +- Support for Red Hat Enterprise Linux 6 and Oracle Linux 6 and Ubuntu 14.04 (Trusty) operating systems platforms ended on November 30, 2020. |
| 36 | +- This is the last RS version that supports direct upgrades from versions below 5.6.0. |
| 37 | +- This is the last RS version that supports Active-Active protocol version below 1 and featureset version below 1. |
| 38 | + |
| 39 | +### New Features |
| 40 | + |
| 41 | +#### Distributed Syncer |
| 42 | + |
| 43 | +The syncer process now supports running in a [distributed mode](https://docs.redislabs.com/latest/rs/administering/cluster-operations/synchronization-mode/). This option can improve the latency for Active-Active databases with a very high throughput profile. You can configure a replicated database to use distributed synchronization so that any available proxy endpoint can manage synchronization traffic. |
| 44 | + |
| 45 | +#### Disabling RS services to free memory |
| 46 | + |
| 47 | +Redis Software users can now use the REST API to [disable the following services](https://docs.redislabs.com/latest/rs/administering/troubleshooting/disabling-services/): |
| 48 | + |
| 49 | +- cm_server |
| 50 | +- mdns_server |
| 51 | +- pdns_server |
| 52 | +- stats_archiver |
| 53 | +- saslauthd |
| 54 | +- crdb_coordinator |
| 55 | +- crdb_worker |
| 56 | + |
| 57 | +Once disabled, services are not monitored and controlled by the supervisord. |
| 58 | + |
| 59 | +{{< warning >}} |
| 60 | +This feature can cause unintended results if the cluster relies on the disabled services. |
| 61 | +To make sure you understand the impact of disabled services, test the system in a lab environment before you deploy in production. |
| 62 | +{{< /warning >}} |
| 63 | + |
| 64 | +#### Support for multiple passwords |
| 65 | + |
| 66 | +For users of Redis 6 and RS 6.0 and above, you can now add more security to your password management by maintaining multiple passwords for a user to allow seamless password rotation. |
| 67 | + |
| 68 | +As of RS 6.0, you can assign specific data access permissions (Redis ACLs) and cluster administration permissions to users. |
| 69 | +Password rotation is especially helpful so that you can do a rolling update of the passwords in the application clients that connect to the Redis databases. |
| 70 | + |
| 71 | +In this version, you can only configure multiple passwords [using the REST API](https://docs.redislabs.com/latest/rs/administering/access-control/password-rotation/). |
| 72 | + |
| 73 | +#### Redis Modules dependencies management |
| 74 | + |
| 75 | +RedisGears GA and RedisAI GA require Redis Software to fetch and manage external dependencies. |
| 76 | +Modules declare dependencies at release time in their ramp file. |
| 77 | + |
| 78 | +In this version of RS, these dependencies are installed by Redis Software when the module is added to the cluster. |
| 79 | +The master node downloads the required dependencies and prompts the other nodes to copy the dependencies from the master node. |
| 80 | +When all dependency requirements are satisfied, the module installation is complete. |
| 81 | +New nodes to the cluster also automatically install the dependencies. |
| 82 | + |
| 83 | +#### Syncer automatic recovery from out-of-memory (Preview mode) |
| 84 | + |
| 85 | +For Active-Active databases, the syncer process gracefully recovers from an out of memory (OOM) state. |
| 86 | + |
| 87 | +Although Active-Active synchronization is bi-directional, in each direction we can define a source instance and a destination instance. |
| 88 | +When a destination instance (that is, the instance running the syncer process) gets OOM, the syncer process attempts to automatically recover the data synchronization when memory becomes available. |
| 89 | + |
| 90 | +This is a configurable option and currently under preview mode. This behavior will be GA and set as default in the next RS version. |
| 91 | + |
| 92 | +To enable the syncer automatic recovery, do these steps on each participating cluster: |
| 93 | + |
| 94 | +1. [Upgrade the featureset version]({{< relref "/rs/installing-upgrading/upgrading#upgrading-activeactive-databases" >}}) to `3`. |
| 95 | +1. Enable the syncer automatic recovery using the REST API: |
| 96 | + |
| 97 | + ```sh |
| 98 | + curl -v -k -u <username>:<password> -X PUT -H “Content-Type: application/json” -d ‘{crdt_syncer_auto_oom_unlatch”:true}’ http://<cluster_address>:8080/v1/bdbs/<database_ID> |
| 99 | + ``` |
| 100 | + |
| 101 | +The syncer process restarts to with automatic recovery on. |
| 102 | + |
| 103 | +### Redis modules |
| 104 | + |
| 105 | +The following GA releases of Redis modules are bundled with RS 6.0.12: |
| 106 | + |
| 107 | +- [RediSearch](https://redislabs.com/redis-enterprise/redis-search/), version [2.0.5](https://docs.redislabs.com/latest/modules/redisearch/release-notes/redisearch-2.0-release-notes/) |
| 108 | +- [RedisJSON](https://redislabs.com/redis-enterprise/redis-json/), version [1.0.4](https://docs.redislabs.com/latest/modules/redisjson/release-notes/redisjson-1.0-release-notes/) |
| 109 | +- [RedisGraph](https://redislabs.com/redis-enterprise/redis-graph/), version [2.2.11](https://docs.redislabs.com/latest/modules/redisgraph/release-notes/) |
| 110 | +- [RedisTimeSeries](https://redislabs.com/redis-enterprise/redis-time-series/), version [1.4.7](https://docs.redislabs.com/latest/modules/redistimeseries/release-notes/) |
| 111 | +- [RedisBloom](https://redislabs.com/redis-enterprise/redis-bloom/), version [2.2.4](https://docs.redislabs.com/latest/modules/redisbloom/release-notes/redisbloom-2.2-release-notes/) |
| 112 | + |
| 113 | +To use the updated modules with a database, you must [upgrade the module on the database](https://docs.redislabs.com/latest/modules/upgrading-rs/#upgrading-the-module-for-the-database). |
| 114 | + |
| 115 | +### Additional capabilities |
| 116 | + |
| 117 | +- RS 6.0.12 includes open source Redis 6.0.6. For more information about Redis 6.0.6, check out the [release notes](https://raw.githubusercontent.com/redis/redis/6.0.6/00-RELEASENOTES). |
| 118 | +- The bundled Nginx version was updated from version 1.16.0 to 1.18.0. |
| 119 | +- The crdb-cli syntax to remove an instance is changed from |
| 120 | +`remove-instance [--ordered|--unordered]` to `remove-instance [--force|--no-force]`. |
| 121 | + |
| 122 | +### Important fixes |
| 123 | + |
| 124 | +- RS45627, RS47382 - Fixed bugs causing clients to disconnect when using XREAD and XREADGROUP commands in blocking mode on other clients’ connections. |
| 125 | +- RS44656 - Fixed a bug causing TLS mode for clients connections to toggle between ‘all communication’ to ‘for crdb communication only’ when performing a global configuration change. |
| 126 | +- RS42587 - Fixed a bug in the web UI console if the FQDN of the cluster is a substring of the FQDN of a participating cluster |
| 127 | +- RS49404 - Fixed a bug in for upgrades with custom directories that prevent users from creating databases via the web UI console. |
| 128 | +- RS43961 - bigkeys command fixed to handle non-printable key names |
| 129 | +- RS45707 - Fixed a bug that caused RCP (Redis Cloud Pro) databases to reject connections while resharding the database. |
| 130 | +- RS51144 - Fixed a bug in the syncer process that was stopping synchronization between all instances in some scenarios of network disconnection of one or more participating clusters. |
| 131 | + |
| 132 | +### Known limitations |
| 133 | + |
| 134 | +#### Upgrade |
| 135 | + |
| 136 | +- [RS 5.4.2](https://docs.redislabs.com/latest/rs/release-notes/rs-5-4-2-april-2019/) 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](https://docs.redislabs.com/latest/rs/installing-upgrading/upgrading/#upgrading-crdbs). |
| 137 | +- When you upgrade an Active-Active Redis with active AOF from version [RS 5.4.2](https://docs.redislabs.com/latest/rs/release-notes/rs-5-4-2-april-2019/) or earlier to version [RS 5.4.4](https://docs.redislabs.com/latest/rs/release-notes/rs-5-4-4-june-2019/) or later: |
| 138 | + - If replication is enabled, you must run the BGREWRITEAOF command on all slave shards after the upgrade. |
| 139 | + - If replication is not enabled, you must run the BGREWRITEAOF command on all shards after the upgrade. |
| 140 | +- 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](https://docs.redislabs.com/latest/rs/administering/cluster-operations/updating-certificates/). For assistance with this issue, contact Support. |
| 141 | +- Starting from [RS 5.4.2](https://docs.redislabs.com/latest/rs/release-notes/rs-5-4-2-april-2019/), to preserve the current Redis major.minor version during database upgrade you must use the keep_redis_version option instead of keep_current_version. |
| 142 | + |
| 143 | +#### Redis commands |
| 144 | + |
| 145 | +- The capability of disabling specific Redis commands does not work on commands specific to Redis modules. |
| 146 | +- CLIENT UNBLOCK command is not supported in RS 5.4 and above |
| 147 | +- Starting from RS 5.4.2 and after upgrading the CRDB, TYPE commands for string data-type in CRDBs return "string" (OSS Redis standard). |
0 commit comments