Version of Spring Boot: 3.2.5 Redis Client: Jedis
Details:
When I configured Jedis connection factory along with Spring Actuator, where redis health check is enabled explicitly in application.yaml, the health check will fail and the Spring Boot app can't be started normally.
A minimal reproducible repo is here
Comment From: wilkinsona
I don't think this has anything to do with Spring Boot. It fails with pure Jedis:
package com.demo;
import redis.clients.jedis.DefaultJedisClientConfig;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisClientConfig;
public class SpringbootApplication {
public static void main(String[] args) {
JedisClientConfig config = DefaultJedisClientConfig
.builder()
.password("Ab4bAAI....")
.build();
new Jedis("skilled-fawn-48667.upstash.io", 6379, config);
}
}
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream.
at redis.clients.jedis.util.RedisInputStream.ensureFill(RedisInputStream.java:248)
at redis.clients.jedis.util.RedisInputStream.readByte(RedisInputStream.java:47)
at redis.clients.jedis.Protocol.process(Protocol.java:135)
at redis.clients.jedis.Protocol.read(Protocol.java:221)
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:351)
at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:269)
at redis.clients.jedis.Connection.helloOrAuth(Connection.java:493)
at redis.clients.jedis.Connection.initializeFromClientConfig(Connection.java:402)
at redis.clients.jedis.Connection.<init>(Connection.java:57)
at redis.clients.jedis.Jedis.<init>(Jedis.java:75)
at redis.clients.jedis.Jedis.<init>(Jedis.java:71)
at com.demo.SpringbootApplication.main(SpringbootApplication.java:10)
It fails in the same way with both the password from your sample repo and the abbreviated password above. Perhaps it's an authentication problem?
Comment From: mattchannn
@wilkinsona
Thank you, I just tested with another instance (Redis Cloud) and it works perfectly. I think it is due to the nature of Upstash which is a serverless service provider, I may not know how to use it well.
Can close this issue.