dubbo icon indicating copy to clipboard operation
dubbo copied to clipboard

dubbo 3.3.2 stream error because there are same method names in one class

Open zzps opened this issue 1 year ago • 3 comments

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 and found no similar issues.

Apache Dubbo Component

Java SDK (apache/dubbo)

Dubbo Version

dubbo 3.3.2, openjdk17, windows11

Steps to reproduce this issue

dubbo3.3.2 use stream ,hessian2 serialize will produce errors,and it works ok on dubbo3.2.11 fastjson2 serialize .the errors below:

java.io.IOException: org.apache.dubbo.common.serialize.SerializationException: java.lang.UnsupportedOperationException: BasicDeserializer[10]
	at org.apache.dubbo.common.serialize.DefaultSerializationExceptionWrapper.handleToIOException(DefaultSerializationExceptionWrapper.java:353)
	at org.apache.dubbo.common.serialize.DefaultSerializationExceptionWrapper.access$000(DefaultSerializationExceptionWrapper.java:27)
	at org.apache.dubbo.common.serialize.DefaultSerializationExceptionWrapper$ProxyObjectInput.readObject(DefaultSerializationExceptionWrapper.java:163)
	at org.apache.dubbo.common.serialize.DefaultMultipleSerialization.deserialize(DefaultMultipleSerialization.java:46)
	at org.apache.dubbo.rpc.protocol.tri.ReflectionPackableMethod$WrapResponseUnpack.unpack(ReflectionPackableMethod.java:372)
	at org.apache.dubbo.rpc.model.PackableMethod.parseResponse(PackableMethod.java:36)
	at org.apache.dubbo.rpc.protocol.tri.call.TripleClientCall.onMessage(TripleClientCall.java:84)
	at org.apache.dubbo.rpc.protocol.tri.stream.AbstractTripleClientStream$ClientTransportListener$1.onRawMessage(AbstractTripleClientStream.java:287)
	at org.apache.dubbo.rpc.protocol.tri.frame.TriDecoder.processBody(TriDecoder.java:139)
	at org.apache.dubbo.rpc.protocol.tri.frame.TriDecoder.deliver(TriDecoder.java:86)
	at org.apache.dubbo.rpc.protocol.tri.frame.TriDecoder.deframe(TriDecoder.java:56)
	at org.apache.dubbo.rpc.protocol.tri.stream.AbstractTripleClientStream$ClientTransportListener.doOnData(AbstractTripleClientStream.java:445)
	at org.apache.dubbo.rpc.protocol.tri.stream.AbstractTripleClientStream$ClientTransportListener.lambda$onData$2(AbstractTripleClientStream.java:422)
	at org.apache.dubbo.common.threadpool.serial.SerializingExecutor.run(SerializingExecutor.java:105)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at org.apache.dubbo.common.threadlocal.InternalRunnable.run(InternalRunnable.java:39)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: org.apache.dubbo.common.serialize.SerializationException: java.lang.UnsupportedOperationException: BasicDeserializer[10]
	... 18 common frames omitted
Caused by: java.lang.UnsupportedOperationException: BasicDeserializer[10]
	at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.readObject(AbstractDeserializer.java:137)
	at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.readObject(AbstractDeserializer.java:127)
	at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObjectInstance(Hessian2Input.java:2956)
	at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2289)
	at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2218)
	at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2262)
	at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2218)
	at org.apache.dubbo.common.serialize.hessian2.Hessian2ObjectInput.readObject(Hessian2ObjectInput.java:118)
	at org.apache.dubbo.common.serialize.DefaultSerializationExceptionWrapper$ProxyObjectInput.readObject(DefaultSerializationExceptionWrapper.java:161)
	... 15 common frames omitted

the part code is: 1732522018443

What you expected to happen

without errors

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

zzps avatar Nov 25 '24 08:11 zzps

PTAL @AlbumenJ

wcy666103 avatar Nov 26 '24 04:11 wcy666103

What is your data struct?

AlbumenJ avatar Nov 29 '24 06:11 AlbumenJ

What is your data struct? I know the problem: 1732868877421 because the same method name in one class ,and is it need optimize as you consider

zzps avatar Nov 29 '24 08:11 zzps