Springboot 2.1.9 Jedis偶发READONLY

2019-10-30  本文已影响0人  佑岷

用springboot2.1.9版本时,用redis哨兵模式偶发:

Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: READONLY You can't write against a read only slave.; nested exception is redis.clients.jedis.exceptions.JedisDataException: READONLY You can't write against a read only slave.
    at org.springframework.data.redis.connection.jedis.JedisExceptionConverter.convert(JedisExceptionConverter.java:64) ~[spring-data-redis-2.1.11.RELEASE.jar:2.1.11.RELEASE]
    at org.springframework.data.redis.connection.jedis.JedisExceptionConverter.convert(JedisExceptionConverter.java:41) ~[spring-data-redis-2.1.11.RELEASE.jar:2.1.11.RELEASE]
    at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44) ~[spring-data-redis-2.1.11.RELEASE.jar:2.1.11.RELEASE]
    at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42) ~[spring-data-redis-2.1.11.RELEASE.jar:2.1.11.RELEASE]
    at org.springframework.data.redis.connection.jedis.JedisConnection.convertJedisAccessException(JedisConnection.java:142) ~[spring-data-redis-2.1.11.RELEASE.jar:2.1.11.RELEASE]
    at org.springframework.data.redis.connection.jedis.JedisHashCommands.convertJedisAccessException(JedisHashCommands.java:448) ~[spring-data-redis-2.1.11.RELEASE.jar:2.1.11.RELEASE]
    at org.springframework.data.redis.connection.jedis.JedisHashCommands.hDel(JedisHashCommands.java:123) ~[spring-data-redis-2.1.11.RELEASE.jar:2.1.11.RELEASE]
    at org.springframework.data.redis.connection.DefaultedRedisConnection.hDel(DefaultedRedisConnection.java:912) ~[spring-data-redis-2.1.11.RELEASE.jar:2.1.11.RELEASE]
    at org.springframework.data.redis.connection.DefaultStringRedisConnection.hDel(DefaultStringRedisConnection.java:440) ~[spring-data-redis-2.1.11.RELEASE.jar:2.1.11.RELEASE]
    at org.springframework.data.redis.core.DefaultHashOperations.lambda$delete$12(DefaultHashOperations.java:234) ~[spring-data-redis-2.1.11.RELEASE.jar:2.1.11.RELEASE]
    at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:225) ~[spring-data-redis-2.1.11.RELEASE.jar:2.1.11.RELEASE]
    at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:185) ~[spring-data-redis-2.1.11.RELEASE.jar:2.1.11.RELEASE]
    at org.springframework.data.redis.core.AbstractOperations.execute(AbstractOperations.java:96) ~[spring-data-redis-2.1.11.RELEASE.jar:2.1.11.RELEASE]
    at org.springframework.data.redis.core.DefaultHashOperations.delete(DefaultHashOperations.java:234) ~[spring-data-redis-2.1.11.RELEASE.jar:2.1.11.RELEASE]
    at com.pingan.bank.idata.api.listener.CreateRunnerImpl.run(CreateRunnerImpl.java:60) ~[classes/:na]
    at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:772) [spring-boot-2.1.9.RELEASE.jar:2.1.9.RELEASE]
    ... 5 common frames omitted
Caused by: redis.clients.jedis.exceptions.JedisDataException: READONLY You can't write against a read only slave.
    at redis.clients.jedis.Protocol.processError(Protocol.java:130) ~[jedis-2.9.3.jar:na]
    at redis.clients.jedis.Protocol.process(Protocol.java:164) ~[jedis-2.9.3.jar:na]
    at redis.clients.jedis.Protocol.read(Protocol.java:218) ~[jedis-2.9.3.jar:na]
    at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:341) ~[jedis-2.9.3.jar:na]
    at redis.clients.jedis.Connection.getIntegerReply(Connection.java:266) ~[jedis-2.9.3.jar:na]
    at redis.clients.jedis.BinaryJedis.hdel(BinaryJedis.java:1017) ~[jedis-2.9.3.jar:na]
    at org.springframework.data.redis.connection.jedis.JedisHashCommands.hDel(JedisHashCommands.java:121) ~[spring-data-redis-2.1.11.RELEASE.jar:2.1.11.RELEASE]
    ... 14 common frames omitted

百度、google都没翻到材料。
最后试了降低jedis版本——将自带的jedis2.9.3降到2.9.0试了十多次感觉可以:

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version> //添加此行,默认不填写是2.9.3(springboot 2.1.9.RELEASE)
</dependency>
上一篇下一篇

猜你喜欢

热点阅读