关键信息:
org.springframework.dao.InvalidDataAccessApiUsageException: ERR 'RENAME' command keys must in same slot; nested exception is redis.clients.jedis.exceptions.JedisDataException: ERR 'RENAME' co
mmand keys must in same slot
Caused by: redis.clients.jedis.exceptions.JedisDataException: ERR 'RENAME' command keys must in same slot
org.springframework.dao.InvalidDataAccessApiUsageException: ERR 'RENAME' command keys must in same slot; nested exception is redis.clients.jedis.exceptions.JedisDataException: ERR 'RENAME' co
mmand keys must in same slotat org.springframework.data.redis.connection.jedis.JedisExceptionConverter.convert(JedisExceptionConverter.java:69)at org.springframework.data.redis.connection.jedis.JedisExceptionConverter.convert(JedisExceptionConverter.java:42)at org.springframework.data.redis.PassThroughExceptionTranslationStrategy.translate(PassThroughExceptionTranslationStrategy.java:44)at org.springframework.data.redis.FallbackExceptionTranslationStrategy.translate(FallbackExceptionTranslationStrategy.java:42)at org.springframework.data.redis.connection.jedis.JedisConnection.convertJedisAccessException(JedisConnection.java:135)at org.springframework.data.redis.connection.jedis.JedisKeyCommands.rename(JedisKeyCommands.java:284)at org.springframework.data.redis.connection.DefaultedRedisConnection.rename(DefaultedRedisConnection.java:125)at org.springframework.data.redis.core.RedisTemplate.lambda$rename$16(RedisTemplate.java:936)at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:228)at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:188)at org.springframework.data.redis.core.RedisTemplate.rename(RedisTemplate.java:935)at org.springframework.session.data.redis.RedisIndexedSessionRepository$RedisSession.saveChangeSessionId(RedisIndexedSessionRepository.java:831)at org.springframework.session.data.redis.RedisIndexedSessionRepository$RedisSession.save(RedisIndexedSessionRepository.java:782)at org.springframework.session.data.redis.RedisIndexedSessionRepository$RedisSession.access$000(RedisIndexedSessionRepository.java:670)at org.springframework.session.data.redis.RedisIndexedSessionRepository.save(RedisIndexedSessionRepository.java:398)at org.springframework.session.data.redis.RedisIndexedSessionRepository.save(RedisIndexedSessionRepository.java:249)at org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.commitSession(SessionRepositoryFilter.java:225)at org.springframework.session.web.http.SessionRepositoryFilter$SessionRepositoryRequestWrapper.access$100(SessionRepositoryFilter.java:192)at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:144)at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.springframework.cloud.sleuth.instrument.web.ExceptionLoggingFilter.doFilter(ExceptionLoggingFilter.java:50)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at brave.servlet.TracingFilter.doFilter(TracingFilter.java:65)at org.springframework.cloud.sleuth.instrument.web.LazyTracingFilter.doFilter(TraceWebServletAutoConfiguration.java:138)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712)at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461)at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:384)at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:394)at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:253)at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:348)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:173)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367)at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1591)at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Thread.java:748)
Caused by: redis.clients.jedis.exceptions.JedisDataException: ERR 'RENAME' command keys must in same slotat redis.clients.jedis.Protocol.processError(Protocol.java:132)at redis.clients.jedis.Protocol.process(Protocol.java:166)at redis.clients.jedis.Protocol.read(Protocol.java:220)at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:318)at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:236)at redis.clients.jedis.BinaryJedis.rename(BinaryJedis.java:427)at org.springframework.data.redis.connection.jedis.JedisKeyCommands.rename(JedisKeyCommands.java:282)... 43 common frames omitted
2020-05-22 15:08:49.320 [PollingServerListUpdater-0] ESC[34mINFO ESC[0;39m [] ESC[36mcom.netflix.config.ChainedDynamicPropertyESC[0;39m - Flipping property: xxx-server.ribbon.ActiveConnection
sLimit to use NEXT property: niws.loadbalancer.availabilityFilteringRule.activeConnectionsLimit = 2147483647
原因:引入了spring-session-data-redis包,由于使用Maven聚合工程,找了半天是父工程的引用......
这个还跟redis集群有关系( redis是内置的集群 导致发送pipeline就有问题, 同一个请求进去 key hash计算之后不在同一个机器 就会报这个错误)