Redisson 解码随机类转换异常

问题描述

我使用 redisson 3.15.2 版本和 FST 进行序列化。但是在对程序进行负载测试时,我不时收到此随机异常,但是当我在负载测试中执行相同的操作时,它已成功解码。

java.io.IOException: org.redisson.client.RedisException: Unexpected exception while processing command java.lang.classCastException: x.x.x.paxCostPrice cannot be cast to x.x.x.search.service.IObserverSource
at x.x.x.search.result.Result.readExternal(Result.java:873 undefined) ~[x_x_x.jar:?]
at x.x.x.search.result.detail.HolidayItem.readExternal(HolidayItem.java:3042 undefined) ~[x_x_x.jar:?]
at x.x.x.search.result.detail.generic.GenericDetailResult.readExternal(GenericDetailResult.java:626 undefined) ~[x_x_x.jar:?]
at org.nustaq.serialization.FSTObjectInput.instantiateAndReadNoSer(FSTObjectInput.java:548 undefined) ~[fst-2.57.jar:?]
at org.nustaq.serialization.FSTObjectInput.readobjectWithHeader(FSTObjectInput.java:374 undefined) ~[fst-2.57.jar:?]
at org.nustaq.serialization.FSTObjectInput.readobjectInternal(FSTObjectInput.java:331 undefined) ~[fst-2.57.jar:?]
at org.nustaq.serialization.FSTObjectInput.readobject(FSTObjectInput.java:311 undefined) ~[fst-2.57.jar:?]
at org.nustaq.serialization.FSTObjectInput.readobject(FSTObjectInput.java:245 undefined) ~[fst-2.57.jar:?]
at x.x.externalization.ExternalizeUtils.readList(ExternalizeUtils.java:237 undefined) ~[x_x_x.jar:?]
at x.x.x.search.result.detail.Holiday.readExternal(Holiday.java:3062 undefined) ~[x_x_x.jar:?]
at org.nustaq.serialization.FSTObjectInput.instantiateAndReadNoSer(FSTObjectInput.java:548 undefined) ~[fst-2.57.jar:?]
at org.nustaq.serialization.FSTObjectInput.readobjectWithHeader(FSTObjectInput.java:374 undefined) ~[fst-2.57.jar:?]
at org.nustaq.serialization.FSTObjectInput.readobjectInternal(FSTObjectInput.java:331 undefined) ~[fst-2.57.jar:?]
at org.nustaq.serialization.FSTObjectInput.readobject(FSTObjectInput.java:311 undefined) ~[fst-2.57.jar:?]
at org.nustaq.serialization.FSTObjectInput.readobject(FSTObjectInput.java:245 undefined) ~[fst-2.57.jar:?]
at x.x.externalization.ExternalizeUtils.readMap(ExternalizeUtils.java:351 undefined) ~[x_x_x.jar:?]
at x.x.externalization.ExternalizeUtils.readHashtable(ExternalizeUtils.java:392 undefined) ~[x_x_x.jar:?]
at x.x.x.search.service.PackageGatewayMemento.readExternal(PackageGatewayMemento.java:186 undefined) ~[X.jar:6.6.3.95]
at org.nustaq.serialization.FSTObjectInput.instantiateAndReadNoSer(FSTObjectInput.java:548 undefined) ~[fst-2.57.jar:?]
at org.nustaq.serialization.FSTObjectInput.readobjectWithHeader(FSTObjectInput.java:374 undefined) ~[fst-2.57.jar:?]
at org.nustaq.serialization.FSTObjectInput.readobjectInternal(FSTObjectInput.java:331 undefined) ~[fst-2.57.jar:?]
at org.nustaq.serialization.FSTObjectInput.readobject(FSTObjectInput.java:311 undefined) ~[fst-2.57.jar:?]
at org.nustaq.serialization.FSTObjectInput.readobject(FSTObjectInput.java:245 undefined) ~[fst-2.57.jar:?]
at x.x.x.search.service.SearchSessionMemento.readExternal(SearchSessionMemento.java:158 undefined) ~[X.jar:6.6.3.95]
at org.nustaq.serialization.FSTObjectInput.instantiateAndReadNoSer(FSTObjectInput.java:548 undefined) ~[fst-2.57.jar:?]
at org.nustaq.serialization.FSTObjectInput.readobjectWithHeader(FSTObjectInput.java:374 undefined) ~[fst-2.57.jar:?]
at org.nustaq.serialization.FSTObjectInput.readobjectInternal(FSTObjectInput.java:331 undefined) ~[fst-2.57.jar:?]
at org.nustaq.serialization.FSTObjectInput.readobject(FSTObjectInput.java:311 undefined) ~[fst-2.57.jar:?]
at org.nustaq.serialization.FSTObjectInput.readobject(FSTObjectInput.java:245 undefined) ~[fst-2.57.jar:?]
at org.redisson.codec.FstCodec$1.decode(FstCodec.java:250 undefined) ~[redisson-3.15.2.jar:3.15.2]
at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:358 undefined) ~[redisson-3.15.2.jar:3.15.2]
at org.redisson.client.handler.CommandDecoder.decodeCommand(CommandDecoder.java:177 undefined) ~[redisson-3.15.2.jar:3.15.2]
at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:116 undefined) ~[redisson-3.15.2.jar:3.15.2]
at org.redisson.client.handler.CommandDecoder.decode(CommandDecoder.java:101 undefined) ~[redisson-3.15.2.jar:3.15.2]
at io.netty.handler.codec.BytetoMessageDecoder.decodeRemovalReentryProtection(BytetoMessageDecoder.java:501 undefined) ~[netty-codec-4.1.51.Final.jar:4.1.51.Final]
at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:366 undefined) ~[netty-codec-4.1.51.Final.jar:4.1.51.Final]
at io.netty.handler.codec.BytetoMessageDecoder.channelRead(BytetoMessageDecoder.java:276 undefined) ~[netty-codec-4.1.51.Final.jar:4.1.51.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379 undefined) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365 undefined) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357 undefined) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1526 undefined) ~[netty-handler-4.1.51.Final.jar:4.1.51.Final]
at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1275 undefined) ~[netty-handler-4.1.51.Final.jar:4.1.51.Final]
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1322 undefined) ~[netty-handler-4.1.51.Final.jar:4.1.51.Final]
at io.netty.handler.codec.BytetoMessageDecoder.decodeRemovalReentryProtection(BytetoMessageDecoder.java:501 undefined) ~[netty-codec-4.1.51.Final.jar:4.1.51.Final]
at io.netty.handler.codec.BytetoMessageDecoder.callDecode(BytetoMessageDecoder.java:440 undefined) ~[netty-codec-4.1.51.Final.jar:4.1.51.Final]
at io.netty.handler.codec.BytetoMessageDecoder.channelRead(BytetoMessageDecoder.java:276 undefined) ~[netty-codec-4.1.51.Final.jar:4.1.51.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379 undefined) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365 undefined) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357 undefined) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410 undefined) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379 undefined) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365 undefined) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919 undefined) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163 undefined) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714 undefined) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650 undefined) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576 undefined) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493 undefined) ~[netty-transport-4.1.51.Final.jar:4.1.51.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989 undefined) ~[netty-common-4.1.51.Final.jar:4.1.51.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74 undefined) ~[netty-common-4.1.51.Final.jar:4.1.51.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30 undefined) ~[netty-common-4.1.51.Final.jar:4.1.51.Final]    

错误也不总是一样,尝试了很多东西但没有运气, 帮助我了解这里发生了什么,

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)