RedisHealthIndicator calls ReactiveRedisConnectionFactory::getReactiveConnection and then calls serverCommands().info() to perform the health check. It then expects that the output (Properties) has a key called "redis_version" - otherwise the health check reports DOWN.

However, since spring-data-redis 2.3.0.RELEASE, getReactiveConnection returns a cluster-aware LettuceReactiveRedisClusterConnection if the client is configured to connect to a cluster.

serverCommands().info() returns a different key format if it's cluster-aware: The keys are prefixed with the host:port - you get something like "127.0.0.1:6379.redis_version".

RedisHealthIndicator may need to use different health checking logic for cluster connections .

Comment From: wilkinsona

Duplicates #21514