redisson: java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Set

What can cause such an error?

Exception in thread "redisson-3-4" java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Set
	at org.redisson.RedissonMap.readAllEntrySet(zb:513)
	at org.redisson.spring.session.RedissonSessionRepository$RedissonSession.load(RedissonSessionRepository.java:97)
	at org.redisson.spring.session.RedissonSessionRepository.findById(RedissonSessionRepository.java:319)
	at org.redisson.spring.session.RedissonSessionRepository.onMessage(RedissonSessionRepository.java:261)
	at org.redisson.spring.session.RedissonSessionRepository.onMessage(RedissonSessionRepository.java:53)
	at org.redisson.d.onPatternMessage(ol:156)
	at org.redisson.client.RedisPubSubConnection.onMessage(RedisPubSubConnection.java:84)
	at org.redisson.client.handler.CommandPubSubDecoder.lambda$enqueueMessage$0(CommandPubSubDecoder.java:188)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)
[epollEventLoopGroup-2-5] WARN io.netty.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
java.lang.IncompatibleClassChangeError: Found interface org.objectweb.asm.MethodVisitor, but class was expected
	at com.esotericsoftware.reflectasm.ConstructorAccess.insertConstructor(ConstructorAccess.java:128)
	at com.esotericsoftware.reflectasm.ConstructorAccess.get(ConstructorAccess.java:98)
	at com.esotericsoftware.kryo.Kryo$DefaultInstantiatorStrategy.newInstantiatorOf(Kryo.java:1271)
	at com.esotericsoftware.kryo.Kryo.newInstantiator(Kryo.java:1127)
	at com.esotericsoftware.kryo.Kryo.newInstance(Kryo.java:1136)
	at com.esotericsoftware.kryo.serializers.FieldSerializer.create(FieldSerializer.java:562)
	at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:538)
	at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:813)
	at org.redisson.codec.KryoCodec$1.decode(KryoCodec.java:126)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:402)
	at org.redisson.client.handler.CommandDecoder.decodeList(CommandDecoder.java:446)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:411)
	at org.redisson.client.handler.CommandDecoder.decodeCommandBatch(CommandDecoder.java:300)
	at org.redisson.client.handler.CommandDecoder.decodeCommand(CommandDecoder.java:233)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:160)
	at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:129)
	at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:502)
	at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:366)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930)
	at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:796)
	at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:432)
	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:333)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:906)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 16 (8 by maintainers)

Most upvoted comments

Great. I’m closing it.

@mrniko we have finally fixed this issue for ECS, list of updates:

  • redisson-all 3.11.0 => 3.16.5
  • Redis Cluster 3x => 6x
  • com.esotericsoftware.kryo => 5.2.0
  • de.javakaffee.kryo-serializers => 0.45