CodisLabs / jodis

A java client for codis based on Jedis and Curator
MIT License
216 stars 97 forks source link

redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream #30

Closed YeEmrick closed 7 years ago

YeEmrick commented 7 years ago
public static void main(String[] args) {
        JedisResourcePool jedisPool = RoundRobinJedisPool.create()
                .curatorClient("10.10.1.200:2181", 3000).zkProxyDir("/jodis/codis-demo").build();
        try(Jedis jedis = jedisPool.getResource()) {
            jedis.set("foo", "bar");
            String value = jedis.get("foo");
            System.out.println(value);
        }
    }

按照的文档上的代码执行 每次执行都报如下错误

Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream.
    at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:198)
    at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:40)
    at redis.clients.jedis.Protocol.process(Protocol.java:141)
    at redis.clients.jedis.Protocol.read(Protocol.java:205)
    at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:297)
    at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:196)
    at redis.clients.jedis.Jedis.set(Jedis.java:69)
    at jodis.JodisTest.main(JodisTest.java:16)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

查看proxy的日志发现 slots.go:91: [WARN] slot-0289 is not ready: hkey = foo 目前配置的是4个group,每个group一个主备 找了很多,网上说buffer中积压的数据达到阀值,可是client-output-buffer-limit中相关设置为0,这是什么原因 @spinlock