All Products
Search
Document Center

Tair (Redis® OSS-Compatible):Notice: End of service (EOS) for Redis® 4.0-compatible instances

Last Updated:Mar 26, 2026

To focus on providing more advanced and secure product versions, instances of Tair (Redis OSS-compatible) that are compatible with Redis® 4.0 will reach their end of service (EOS). The end-of-service date isSingapore time September 25, 2026. Please upgrade your instances to a newer version before this date.

Key timeline and impact

Milestone

Date (Singapore Time)

Impact

End of new purchases

October 25, 2025

New purchases and product updates, including new features and security patches, will be discontinued.

End of renewals and specification changes

March 25, 2026

Renewals and specification changes will no longer be available. Active instances will continue to be supported until the end-of-service date.

End of service

September 25, 2026

Documentation, data storage, and technical support for these instances will no longer be available.

Recommended actions

Before you upgrade the major version of your instance or clone it to Redis 5.0, you must ensure your database does not contain any Bloom filter data. Otherwise, the operation will fail.

How to find and delete Bloom filter data from a 4.0 instance

In early Redis 4.0-compatible instances, the APIs for Bloom filters were not officially released and are no longer supported in later major versions. Therefore, you must find and delete any Bloom filter data before upgrading an instance.

Python 3

  1. Copy the following code to a device that can connect to your instance and save the code as bloom_find.py.

    import sys
    
    import redis
    
    
    def main(argv):
        if len(argv) < 3:
            print("Usage: python bloom_find.py host port password")
            sys.exit(-1)
    
        host = argv[1]
        port = argv[2]
        password = argv[3]
        print("host: %s, port: %s, password: %s\n" % (host, port, password))
    
        for i in range(256):
            redis_cli = redis.StrictRedis(host=host, port=port, password=password, db=i)
            cursor = 0
            print("Start scanning db %d" % i)
            while True:
                cursor, keys = redis_cli.scan(cursor=cursor, count=1000)
                if keys:
                    for key in keys:
                        key_type = redis_cli.type(key).decode()
                        if key_type == "unknown":
                            print("Found unknown type key(maybe bloom): %s in db %d" % (key.decode(), i))
                if cursor == 0:
                    break
    
    if __name__ == '__main__':
        main(sys.argv)
    
  2. Run the following command to install redis-py: pip install redis.

  3. Run the script to check for Bloom filter data: python bloom_find.py <host> <port> <password>.

  4. If the script finds any Bloom filter data, use the UNLINK command to delete it.

Python 2

  1. Copy the following code to a device that can connect to your instance and save the code as bloom_find.py.

    import sys
    
    import redis
    
    
    def main(argv):
        if len(argv) < 3:
            print("Usage: python bloom_find.py host port password")
            sys.exit(-1)
    
        host = argv[1]
        port = argv[2]
        password = argv[3]
        print("host: %s, port: %s, password: %s\n" % (host, port, password))
    
        for i in range(256):
            redis_cli = redis.StrictRedis(host=host, port=port, password=password, db=i)
            cursor = 0
            print("Start scanning db %d" % i)
            while True:
                cursor, keys = redis_cli.scan(cursor=cursor, count=1000)
                if keys:
                    for key in keys:
                        key_type = redis_cli.type(key)
                        if key_type == "unknown":
                            print("Found unknown type key(maybe bloom): %s in db %d" % (key, i))
                if cursor == 0:
                    break
    
    if __name__ == '__main__':
        main(sys.argv)
    
  2. Run the following command to install redis-py: pip2 install redis.

  3. Run the script to check for Bloom filter data: python2 bloom_find.py <host> <port> <password>.

  4. If the script finds any Bloom filter data, use the UNLINK command to delete it.

  • Upgrade the major version: We recommend that you upgrade to version 5.0. Version 5.0 is fully backward-compatible with the commands of version 4.0 and offers significant improvements to primary/secondary replication and persistence, and includes support for new features.

    The upgrade process works as follows:

    1. The secondary database is upgraded first. During this time, the primary database remains available for read and write operations.

    2. After the secondary database is upgraded, the system performs a primary/secondary switchover. The switchover occurs at the time you specify, either immediately or within the maintenance window. During the switchover, the instance is in read-only mode for up to 60 seconds while data is fully synchronized. A brief transient connection error will also occur. Ensure that your application has a reconnection mechanism.

      Note

      After the upgrade:

      • The original instance's instance ID, connection string, data, IP address whitelist, and any existing accounts and passwords remain unchanged.

      • In version 5.0, traffic from primary/secondary replication is no longer measured. Only actual service traffic is measured, which results in lower reported outbound traffic usage on the monitoring page.

      • The maximum number of connections for the instance increases from 10,000 to 20,000. As a result, the connection usage reported in instance monitoring is halved.

      • Version 5.0 introduces enhanced monitoring capabilities, which may cause a slight increase in CPU overhead. Additionally, underlying differences between versions may cause minor fluctuations (either increases or decreases) in CPU utilization. This is normal.

  • To validate your services on version 5.0, you can clone a new 5.0 instance.

FAQ

  • Q: Will my existing Redis 4.0-compatible instances be automatically upgraded to a later version?

    No. After September 25, 2026, any remaining Redis 4.0-compatible instances will be shut down. We recommend that you manually upgrade the major version.

  • Q: What commands are supported in later versions?

    Tair (Redis OSS-compatible) provides full backward compatibility for data structures and APIs in later versions. For more information, see Command Support.

  • Q: How can I test for compatibility before upgrading?

    You can clone a new 5.0 instance from the backup data of your Redis® 4.0-compatible instance.

    When configuring the new instance, select version 5.0. You can also select the pay-as-you-go billing method to test and validate at a lower cost. After you complete the validation, you can release the instance to save resources.

References

Major Version Features and Compatibility