Roronoa-Zoro opened a new issue, #15490:
URL: https://github.com/apache/dubbo/issues/15490

   ### Pre-check
   
   - [x] I am sure that all the content I provide is in English.
   
   
   ### Search before asking
   
   - [x] I had searched in the 
[issues](https://github.com/apache/dubbo/issues?q=is%3Aissue) and found no 
similar issues.
   
   
   ### Apache Dubbo Component
   
   Java SDK (apache/dubbo)
   
   ### Dubbo Version
   
   dubbo java 2.7.13
   java: 1.8
   
   ### Steps to reproduce this issue
   
   in provider side, add two fields in response object, in this object, 
annotation @DefaultSerializer(CompatibleFieldSerializer.class) is added when it 
was created.
   
   and in consumer side, still refer to old jar, when call method, throw 
exception,
   
   
   
   ### What you expected to happen
   
   in object, @DefaultSerializer(CompatibleFieldSerializer.class)  is used, and 
in local/testing/pre-prod, all worked well,only prod env has issue
   
   `exception details: 
   org.apache.dubbo.remoting.RemotingException: java.io.IOException: 
com.esotericsoftware.kryo.KryoException: java.lang.IndexOutOfBoundsException: 
Index: 3381, Size: 2991 
   Serialization trace:
   introduce (com.model.dto.AssetInfoDTO)
   java.io.IOException: com.esotericsoftware.kryo.KryoException: 
java.lang.IndexOutOfBoundsException: Index: 3381, Size: 2991
   Serialization trace:
   introduce (com.model.dto.AssetInfoDTO)
           at 
org.apache.dubbo.common.serialize.kryo.KryoObjectInput.readObject(KryoObjectInput.java:138)
           at 
org.apache.dubbo.common.serialize.kryo.KryoObjectInput.readObject(KryoObjectInput.java:147)
           at 
org.apache.dubbo.common.serialize.kryo.KryoObjectInput.readObject(KryoObjectInput.java:154)
           at 
org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.handleValue(DecodeableRpcResult.java:157)
           at 
org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.decode(DecodeableRpcResult.java:101)
           at 
org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.decode(DecodeableRpcResult.java:129)
           at 
org.apache.dubbo.remoting.transport.DecodeHandler.decode(DecodeHandler.java:57)
           at 
org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:48)
           at 
org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:57)
           at 
org.apache.dubbo.common.threadpool.ThreadlessExecutor$RunnableWrapper.run(ThreadlessExecutor.java:196)
           at 
org.apache.dubbo.common.threadpool.ThreadlessExecutor.waitAndDrain(ThreadlessExecutor.java:99)
           at org.apache.dubbo.rpc.AsyncRpcResult.get(AsyncRpcResult.java:179)
           at 
org.apache.dubbo.rpc.protocol.AsyncToSyncInvoker.invoke(AsyncToSyncInvoker.java:61)
           at 
org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:78)
           at 
com.alibaba.csp.sentinel.adapter.dubbo.SentinelDubboConsumerFilter.syncInvoke(SentinelDubboConsumerFilter.java:82)
           at 
com.alibaba.csp.sentinel.adapter.dubbo.SentinelDubboConsumerFilter.invoke(SentinelDubboConsumerFilter.java:66)
           at 
org.apache.dubbo.rpc.protocol.FilterNode.invoke(FilterNode.java:61)
           at 
org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:91)
           at 
org.apache.dubbo.rpc.protocol.FilterNode.invoke(FilterNode.java:61)
           at 
org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:52)
           at 
org.apache.dubbo.rpc.protocol.FilterNode.invoke(FilterNode.java:61)
           at 
com.alibaba.csp.sentinel.adapter.dubbo.DubboAppContextFilter.invoke(DubboAppContextFilter.java:43)
           at 
org.apache.dubbo.rpc.protocol.FilterNode.invoke(FilterNode.java:61)
           at com.lbank.common.log.rpc.DubboLogger.invoke(DubboLogger.java:28)
           at 
org.apache.dubbo.rpc.protocol.FilterNode.invoke(FilterNode.java:61)
           at 
org.apache.dubbo.rpc.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:69)
           at 
org.apache.dubbo.rpc.protocol.FilterNode.invoke(FilterNode.java:61)
           at 
org.apache.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56)
   --
           at 
org.apache.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56)
           at 
org.apache.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:52)
           at 
org.apache.dubbo.rpc.protocol.FilterNode.invoke(FilterNode.java:61)
           at 
org.apache.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:77)
           at 
org.apache.dubbo.rpc.protocol.FilterNode.invoke(FilterNode.java:61)
           at 
org.apache.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:46)
           at 
org.apache.dubbo.rpc.protocol.FilterNode.invoke(FilterNode.java:61)
           at 
com.alibaba.csp.sentinel.adapter.dubbo.SentinelDubboProviderFilter.invoke(SentinelDubboProviderFilter.java:80)
           at 
org.apache.dubbo.rpc.protocol.FilterNode.invoke(FilterNode.java:61)
           at 
org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:91)
           at 
org.apache.dubbo.rpc.protocol.FilterNode.invoke(FilterNode.java:61)
           at com.lbank.common.log.rpc.DubboLogger.invoke(DubboLogger.java:28)
           at 
org.apache.dubbo.rpc.protocol.FilterNode.invoke(FilterNode.java:61)
           at 
org.apache.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:192)
           at 
org.apache.dubbo.rpc.protocol.FilterNode.invoke(FilterNode.java:61)
           at 
org.apache.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)
           at 
org.apache.dubbo.rpc.protocol.FilterNode.invoke(FilterNode.java:61)
           at org.apache.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:41)
           at 
org.apache.dubbo.rpc.protocol.FilterNode.invoke(FilterNode.java:61)
           at 
org.apache.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:129)
           at 
org.apache.dubbo.rpc.protocol.FilterNode.invoke(FilterNode.java:61)
           at 
org.apache.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:148)
           at 
org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:100)
           at 
org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:175)
           at 
org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:51)
           at 
org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:57)
           at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
           at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
           at 
org.apache.dubbo.common.threadlocal.InternalRunnable.run(InternalRunnable.java:41)
           at java.lang.Thread.run(Thread.java:750)
   Caused by: com.esotericsoftware.kryo.KryoException: 
java.lang.IndexOutOfBoundsException: Index: 3381, Size: 2991
   Serialization trace:
   introduce (com.model.dto.AssetInfoDTO)
           at 
com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:144)
           at 
com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer.read(CompatibleFieldSerializer.java:145)
           at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:813)
           at 
com.esotericsoftware.kryo.serializers.CollectionSerializer.read(CollectionSerializer.java:134)
           at 
com.esotericsoftware.kryo.serializers.CollectionSerializer.read(CollectionSerializer.java:40)
           at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:813)
           at 
org.apache.dubbo.common.serialize.kryo.KryoObjectInput.readObject(KryoObjectInput.java:136)
           ... 74 more
   Caused by: java.lang.IndexOutOfBoundsException: Index: 3381, Size: 2991
           at java.util.ArrayList.rangeCheck(ArrayList.java:659)
           at java.util.ArrayList.get(ArrayList.java:435)
           at 
com.esotericsoftware.kryo.util.MapReferenceResolver.getReadObject(MapReferenceResolver.java:60)
           at com.esotericsoftware.kryo.Kryo.readReferenceOrNull(Kryo.java:857)
           at com.esotericsoftware.kryo.Kryo.readObjectOrNull(Kryo.java:780)
           at 
com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:132)`
   
   ### Anything else
   
   _No response_
   
   ### Are you willing to submit a pull request to fix on your own?
   
   - [ ] Yes I am willing to submit a pull request on my own!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@dubbo.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@dubbo.apache.org
For additional commands, e-mail: notifications-h...@dubbo.apache.org

Reply via email to