Open yukinomiu opened 1 year ago
另外, 如果请求结构体中有指针类型 *int64
, 那么Java侧可以正确使用 java.lang.Long
进行映射.
@yukinomiu 有具体的报错信息吗。我怀疑是hessian-go序列化相关的兼容性问题。
@chickenlj issue正文里有log, 点击即可展开
@yukinomiu Try to use long instead of Long.
@DMwangnima DM long
is ok, but I need Long
for null value.
Consumer:
public class TestLongReq implements Serializable {
private Long total;
public Long getTotal() {
return total;
}
public void setTotal(Long total) {
this.total = total;
}
}
public class TestLongResp implements Serializable {
private Long total;
public Long getTotal() {
return total;
}
public void setTotal(Long total) {
this.total = total;
}
}
TestLongResp TestLong(TestLongReq req) throws Exception;
Provider:
type TestLongReq struct {
Total *int64
}
func (req *TestLongReq) JavaClassName() string {
return "org.apache.dubbo.samples.api.TestLongReq"
}
type TestLongResp struct {
Total *int64
}
func (req *TestLongResp) JavaClassName() string {
return "org.apache.dubbo.samples.api.TestLongResp"
}
func (u *UserProviderImpl) TestLong(ctx context.Context, req *TestLongReq) (*TestLongResp, error) {
return &TestLongResp{Total: req.Total}, nil
}
dubbo:
protocols:
dubbo:
name: dubbo
port: 20001
provider:
services:
UserProviderImpl:
interface: org.apache.dubbo.samples.api.UserProvider
@yukinomiu This works fine.
Environment
Issue description
Dubbo-go作为Provider, RPC接口返回结构体指针. 这个结构体内包含一个指针类型的字段. Java Dubbo作为Consumer, 调用接口, 无法解析结果.
Provider端代码:
Consumer端代码:
Logs
Click me to check logs
``` 2023-09-01 14:49:26.344 WARN 44832 --- [nio-8090-exec-6] o.a.d.r.p.dubbo.DecodeableRpcResult : [DUBBO] Decode rpc result failed: com.github.yukinomiu.dubbo.api.Resp.total: com.alibaba.com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String, dubbo version: 3.2.5, current host: 172.16.116.11, error code: 4-20. This may be caused by , go to https://dubbo.apache.org/faq/4/20 to find instructions. com.alibaba.com.caucho.hessian.io.HessianFieldException: com.github.yukinomiu.dubbo.api.Resp.total: com.alibaba.com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String at com.alibaba.com.caucho.hessian.io.JavaDeserializer.logDeserializeError(JavaDeserializer.java:168) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize(JavaDeserializer.java:415) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:277) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:204) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObjectInstance(Hessian2Input.java:2848) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2175) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2104) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2148) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2104) ~[hessian-lite-3.2.13.jar:na] at org.apache.dubbo.common.serialize.hessian2.Hessian2ObjectInput.readObject(Hessian2ObjectInput.java:109) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.common.serialize.hessian2.Hessian2ObjectInput.readObject(Hessian2ObjectInput.java:117) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.common.serialize.DefaultSerializationExceptionWrapper$ProxyObjectInput.readObject(DefaultSerializationExceptionWrapper.java:175) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.handleValue(DecodeableRpcResult.java:172) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.decode(DecodeableRpcResult.java:110) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.decode(DecodeableRpcResult.java:149) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.remoting.transport.DecodeHandler.decode(DecodeHandler.java:62) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:50) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:62) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.common.threadpool.ThreadlessExecutor$RunnableWrapper.run(ThreadlessExecutor.java:152) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.common.threadpool.ThreadlessExecutor.waitAndDrain(ThreadlessExecutor.java:77) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.AsyncRpcResult.get(AsyncRpcResult.java:205) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.AbstractInvoker.waitForResultIfSync(AbstractInvoker.java:287) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:190) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:71) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.filter.RpcExceptionFilter.invoke(RpcExceptionFilter.java:41) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:196) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.ReferenceCountInvokerWrapper.invoke(ReferenceCountInvokerWrapper.java:88) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invokeWithContext(AbstractClusterInvoker.java:383) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:80) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:344) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.router.RouterSnapshotFilter.invoke(RouterSnapshotFilter.java:46) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:108) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.support.MetricsClusterFilter.invoke(MetricsClusterFilter.java:56) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:52) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.spring.security.filter.ContextHolderParametersSelectedTransferFilter.invoke(ContextHolderParametersSelectedTransferFilter.java:41) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.metrics.filter.MetricsFilter.invoke(MetricsFilter.java:73) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.support.MetricsConsumerFilter.invoke(MetricsConsumerFilter.java:37) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.support.ConsumerClassLoaderFilter.invoke(ConsumerClassLoaderFilter.java:40) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilter.invoke(ConsumerContextFilter.java:116) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:196) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$ClusterFilterInvoker.invoke(AbstractCluster.java:91) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:103) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.wrapper.ScopeClusterInvoker.invoke(ScopeClusterInvoker.java:169) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.registry.client.migration.MigrationInvoker.invoke(MigrationInvoker.java:284) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:61) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75) [dubbo-3.2.5.jar:3.2.5] ... Caused by: com.alibaba.com.caucho.hessian.io.HessianProtocolException: com.alibaba.com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.error(AbstractDeserializer.java:131) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.readMap(AbstractDeserializer.java:111) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.readMap(AbstractDeserializer.java:119) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2123) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2104) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize(JavaDeserializer.java:411) ~[hessian-lite-3.2.13.jar:na] ... 111 common frames omitted 2023-09-01 14:49:26.386 WARN 44832 --- [nio-8090-exec-6] o.a.d.r.p.dubbo.DecodeableRpcResult : [DUBBO] Decode rpc result failed: com.github.yukinomiu.dubbo.api.Resp.total: com.alibaba.com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String, dubbo version: 3.2.5, current host: 172.16.116.11, error code: 4-20. This may be caused by , go to https://dubbo.apache.org/faq/4/20 to find instructions. com.alibaba.com.caucho.hessian.io.HessianFieldException: com.github.yukinomiu.dubbo.api.Resp.total: com.alibaba.com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String at com.alibaba.com.caucho.hessian.io.JavaDeserializer.logDeserializeError(JavaDeserializer.java:168) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize(JavaDeserializer.java:415) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:277) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:204) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObjectInstance(Hessian2Input.java:2848) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2175) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2104) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2148) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2104) ~[hessian-lite-3.2.13.jar:na] at org.apache.dubbo.common.serialize.hessian2.Hessian2ObjectInput.readObject(Hessian2ObjectInput.java:109) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.common.serialize.hessian2.Hessian2ObjectInput.readObject(Hessian2ObjectInput.java:117) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.common.serialize.DefaultSerializationExceptionWrapper$ProxyObjectInput.readObject(DefaultSerializationExceptionWrapper.java:175) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.handleValue(DecodeableRpcResult.java:172) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.decode(DecodeableRpcResult.java:110) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.decode(DecodeableRpcResult.java:149) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.remoting.transport.DecodeHandler.decode(DecodeHandler.java:62) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:50) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:62) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.common.threadpool.ThreadlessExecutor$RunnableWrapper.run(ThreadlessExecutor.java:152) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.common.threadpool.ThreadlessExecutor.waitAndDrain(ThreadlessExecutor.java:77) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.AsyncRpcResult.get(AsyncRpcResult.java:205) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.AbstractInvoker.waitForResultIfSync(AbstractInvoker.java:287) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:190) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:71) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.filter.RpcExceptionFilter.invoke(RpcExceptionFilter.java:41) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:196) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.ReferenceCountInvokerWrapper.invoke(ReferenceCountInvokerWrapper.java:88) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invokeWithContext(AbstractClusterInvoker.java:383) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:80) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:344) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.router.RouterSnapshotFilter.invoke(RouterSnapshotFilter.java:46) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:108) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.support.MetricsClusterFilter.invoke(MetricsClusterFilter.java:56) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:52) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.spring.security.filter.ContextHolderParametersSelectedTransferFilter.invoke(ContextHolderParametersSelectedTransferFilter.java:41) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.metrics.filter.MetricsFilter.invoke(MetricsFilter.java:73) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.support.MetricsConsumerFilter.invoke(MetricsConsumerFilter.java:37) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.support.ConsumerClassLoaderFilter.invoke(ConsumerClassLoaderFilter.java:40) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilter.invoke(ConsumerContextFilter.java:116) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:196) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$ClusterFilterInvoker.invoke(AbstractCluster.java:91) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:103) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.wrapper.ScopeClusterInvoker.invoke(ScopeClusterInvoker.java:169) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.registry.client.migration.MigrationInvoker.invoke(MigrationInvoker.java:284) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:61) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75) [dubbo-3.2.5.jar:3.2.5] ... Caused by: com.alibaba.com.caucho.hessian.io.HessianProtocolException: com.alibaba.com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.error(AbstractDeserializer.java:131) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.readMap(AbstractDeserializer.java:111) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.readMap(AbstractDeserializer.java:119) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2123) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2104) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize(JavaDeserializer.java:411) ~[hessian-lite-3.2.13.jar:na] ... 111 common frames omitted 2023-09-01 14:49:26.393 WARN 44832 --- [nio-8090-exec-6] o.a.d.r.p.dubbo.DecodeableRpcResult : [DUBBO] Decode rpc result failed: com.github.yukinomiu.dubbo.api.Resp.total: com.alibaba.com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String, dubbo version: 3.2.5, current host: 172.16.116.11, error code: 4-20. This may be caused by , go to https://dubbo.apache.org/faq/4/20 to find instructions. com.alibaba.com.caucho.hessian.io.HessianFieldException: com.github.yukinomiu.dubbo.api.Resp.total: com.alibaba.com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String at com.alibaba.com.caucho.hessian.io.JavaDeserializer.logDeserializeError(JavaDeserializer.java:168) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize(JavaDeserializer.java:415) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:277) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:204) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObjectInstance(Hessian2Input.java:2848) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2175) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2104) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2148) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2104) ~[hessian-lite-3.2.13.jar:na] at org.apache.dubbo.common.serialize.hessian2.Hessian2ObjectInput.readObject(Hessian2ObjectInput.java:109) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.common.serialize.hessian2.Hessian2ObjectInput.readObject(Hessian2ObjectInput.java:117) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.common.serialize.DefaultSerializationExceptionWrapper$ProxyObjectInput.readObject(DefaultSerializationExceptionWrapper.java:175) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.handleValue(DecodeableRpcResult.java:172) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.decode(DecodeableRpcResult.java:110) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.decode(DecodeableRpcResult.java:149) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.remoting.transport.DecodeHandler.decode(DecodeHandler.java:62) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:50) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:62) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.common.threadpool.ThreadlessExecutor$RunnableWrapper.run(ThreadlessExecutor.java:152) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.common.threadpool.ThreadlessExecutor.waitAndDrain(ThreadlessExecutor.java:77) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.AsyncRpcResult.get(AsyncRpcResult.java:205) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.AbstractInvoker.waitForResultIfSync(AbstractInvoker.java:287) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:190) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:71) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.filter.RpcExceptionFilter.invoke(RpcExceptionFilter.java:41) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:196) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.ReferenceCountInvokerWrapper.invoke(ReferenceCountInvokerWrapper.java:88) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invokeWithContext(AbstractClusterInvoker.java:383) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:80) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:344) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.router.RouterSnapshotFilter.invoke(RouterSnapshotFilter.java:46) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:108) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.support.MetricsClusterFilter.invoke(MetricsClusterFilter.java:56) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:52) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.spring.security.filter.ContextHolderParametersSelectedTransferFilter.invoke(ContextHolderParametersSelectedTransferFilter.java:41) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.metrics.filter.MetricsFilter.invoke(MetricsFilter.java:73) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.support.MetricsConsumerFilter.invoke(MetricsConsumerFilter.java:37) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.support.ConsumerClassLoaderFilter.invoke(ConsumerClassLoaderFilter.java:40) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilter.invoke(ConsumerContextFilter.java:116) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:196) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$ClusterFilterInvoker.invoke(AbstractCluster.java:91) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:103) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.wrapper.ScopeClusterInvoker.invoke(ScopeClusterInvoker.java:169) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.registry.client.migration.MigrationInvoker.invoke(MigrationInvoker.java:284) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:61) [dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75) [dubbo-3.2.5.jar:3.2.5] ... Caused by: com.alibaba.com.caucho.hessian.io.HessianProtocolException: com.alibaba.com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.error(AbstractDeserializer.java:131) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.readMap(AbstractDeserializer.java:111) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.readMap(AbstractDeserializer.java:119) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2123) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2104) ~[hessian-lite-3.2.13.jar:na] at com.alibaba.com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize(JavaDeserializer.java:411) ~[hessian-lite-3.2.13.jar:na] ... 111 common frames omitted 2023-09-01 14:49:26.421 ERROR 44832 --- [nio-8090-exec-6] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.apache.dubbo.rpc.RpcException: Failed to invoke the method test in the service com.github.yukinomiu.dubbo.api.TestService. Tried 3 times of the providers [172.16.116.11:20000] (1/1) from the registry localhost:8848 on the consumer 172.16.116.11 using the dubbo version 3.2.5. Last error is: Failed to invoke remote method: test, provider: dubbo://172.16.116.11:20000/com.github.yukinomiu.dubbo.api.TestService?accesslog=&app.version=&application=dubbo-go-mini&auth=&background=false&bean.name=TestServiceImpl&category=providers,configurators,routers&cluster=failover&config.tracing=&dubbo=2.0.2&environment=&execute.limit=&execute.limit.rejected.handler=&executor-management-mode=isolation&export=true&file-cache=true&group=default&interface=com.github.yukinomiu.dubbo.api.TestService&loadbalance=random&max-server-recv-msg-size=4mib&max-server-send-msg-size=&metadata-type=local&methods=test&module=sample&nacos.category=providers&name=dubbo-go-mini&organization=dubbo-go&owner=dubbo-go¶m.sign=&path=/com.github.yukinomiu.dubbo.api.TestService&pid=44818&protocol=dubbo&qos.enable=true&qos.port=50000®istry=nacos®istry.role=3&release=dubbo-golang-3.0.4&retries=&revision=1.0.0&serialization=&service.filter=echo,metrics,token,accesslog,tps,generic_service,execute,pshutdown&side=provider&sticky=false&timeout=2000×tamp=1693550564&tps.limit.interval=&tps.limit.rate=&tps.limit.rejected.handler=&tps.limit.strategy=&tps.limiter=&unloadClusterRelated=false&version=1.0.0&warmup=, cause: org.apache.dubbo.remoting.RemotingException: com.alibaba.com.caucho.hessian.io.HessianFieldException: com.github.yukinomiu.dubbo.api.Resp.total: com.alibaba.com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String com.alibaba.com.caucho.hessian.io.HessianFieldException: com.github.yukinomiu.dubbo.api.Resp.total: com.alibaba.com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String at com.alibaba.com.caucho.hessian.io.JavaDeserializer.logDeserializeError(JavaDeserializer.java:168) at com.alibaba.com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize(JavaDeserializer.java:415) at com.alibaba.com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:277) at com.alibaba.com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:204) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObjectInstance(Hessian2Input.java:2848) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2175) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2104) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2148) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2104) at org.apache.dubbo.common.serialize.hessian2.Hessian2ObjectInput.readObject(Hessian2ObjectInput.java:109) at org.apache.dubbo.common.serialize.hessian2.Hessian2ObjectInput.readObject(Hessian2ObjectInput.java:117) at org.apache.dubbo.common.serialize.DefaultSerializationExceptionWrapper$ProxyObjectInput.readObject(DefaultSerializationExceptionWrapper.java:175) at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.handleValue(DecodeableRpcResult.java:172) at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.decode(DecodeableRpcResult.java:110) at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.decode(DecodeableRpcResult.java:149) at org.apache.dubbo.remoting.transport.DecodeHandler.decode(DecodeHandler.java:62) at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:50) at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:62) at org.apache.dubbo.common.threadpool.ThreadlessExecutor$RunnableWrapper.run(ThreadlessExecutor.java:152) at org.apache.dubbo.common.threadpool.ThreadlessExecutor.waitAndDrain(ThreadlessExecutor.java:77) at org.apache.dubbo.rpc.AsyncRpcResult.get(AsyncRpcResult.java:205) at org.apache.dubbo.rpc.protocol.AbstractInvoker.waitForResultIfSync(AbstractInvoker.java:287) at org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:190) at org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:71) at org.apache.dubbo.rpc.filter.RpcExceptionFilter.invoke(RpcExceptionFilter.java:41) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:196) at org.apache.dubbo.rpc.protocol.ReferenceCountInvokerWrapper.invoke(ReferenceCountInvokerWrapper.java:88) at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invokeWithContext(AbstractClusterInvoker.java:383) at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:80) at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:344) at org.apache.dubbo.rpc.cluster.router.RouterSnapshotFilter.invoke(RouterSnapshotFilter.java:46) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:108) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.rpc.cluster.filter.support.MetricsClusterFilter.invoke(MetricsClusterFilter.java:56) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:52) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.spring.security.filter.ContextHolderParametersSelectedTransferFilter.invoke(ContextHolderParametersSelectedTransferFilter.java:41) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.metrics.filter.MetricsFilter.invoke(MetricsFilter.java:73) at org.apache.dubbo.rpc.cluster.filter.support.MetricsConsumerFilter.invoke(MetricsConsumerFilter.java:37) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.rpc.cluster.filter.support.ConsumerClassLoaderFilter.invoke(ConsumerClassLoaderFilter.java:40) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilter.invoke(ConsumerContextFilter.java:116) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:196) at org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$ClusterFilterInvoker.invoke(AbstractCluster.java:91) at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:103) at org.apache.dubbo.rpc.cluster.support.wrapper.ScopeClusterInvoker.invoke(ScopeClusterInvoker.java:169) at org.apache.dubbo.registry.client.migration.MigrationInvoker.invoke(MigrationInvoker.java:284) at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:61) at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75) ... Caused by: com.alibaba.com.caucho.hessian.io.HessianProtocolException: com.alibaba.com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.error(AbstractDeserializer.java:131) at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.readMap(AbstractDeserializer.java:111) at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.readMap(AbstractDeserializer.java:119) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2123) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2104) at com.alibaba.com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize(JavaDeserializer.java:411) ... 111 more ] with root cause org.apache.dubbo.remoting.RemotingException: com.alibaba.com.caucho.hessian.io.HessianFieldException: com.github.yukinomiu.dubbo.api.Resp.total: com.alibaba.com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String com.alibaba.com.caucho.hessian.io.HessianFieldException: com.github.yukinomiu.dubbo.api.Resp.total: com.alibaba.com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String at com.alibaba.com.caucho.hessian.io.JavaDeserializer.logDeserializeError(JavaDeserializer.java:168) at com.alibaba.com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize(JavaDeserializer.java:415) at com.alibaba.com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:277) at com.alibaba.com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:204) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObjectInstance(Hessian2Input.java:2848) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2175) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2104) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2148) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2104) at org.apache.dubbo.common.serialize.hessian2.Hessian2ObjectInput.readObject(Hessian2ObjectInput.java:109) at org.apache.dubbo.common.serialize.hessian2.Hessian2ObjectInput.readObject(Hessian2ObjectInput.java:117) at org.apache.dubbo.common.serialize.DefaultSerializationExceptionWrapper$ProxyObjectInput.readObject(DefaultSerializationExceptionWrapper.java:175) at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.handleValue(DecodeableRpcResult.java:172) at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.decode(DecodeableRpcResult.java:110) at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcResult.decode(DecodeableRpcResult.java:149) at org.apache.dubbo.remoting.transport.DecodeHandler.decode(DecodeHandler.java:62) at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:50) at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:62) at org.apache.dubbo.common.threadpool.ThreadlessExecutor$RunnableWrapper.run(ThreadlessExecutor.java:152) at org.apache.dubbo.common.threadpool.ThreadlessExecutor.waitAndDrain(ThreadlessExecutor.java:77) at org.apache.dubbo.rpc.AsyncRpcResult.get(AsyncRpcResult.java:205) at org.apache.dubbo.rpc.protocol.AbstractInvoker.waitForResultIfSync(AbstractInvoker.java:287) at org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:190) at org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:71) at org.apache.dubbo.rpc.filter.RpcExceptionFilter.invoke(RpcExceptionFilter.java:41) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:196) at org.apache.dubbo.rpc.protocol.ReferenceCountInvokerWrapper.invoke(ReferenceCountInvokerWrapper.java:88) at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invokeWithContext(AbstractClusterInvoker.java:383) at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:80) at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:344) at org.apache.dubbo.rpc.cluster.router.RouterSnapshotFilter.invoke(RouterSnapshotFilter.java:46) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:108) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.rpc.cluster.filter.support.MetricsClusterFilter.invoke(MetricsClusterFilter.java:56) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:52) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.spring.security.filter.ContextHolderParametersSelectedTransferFilter.invoke(ContextHolderParametersSelectedTransferFilter.java:41) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.metrics.filter.MetricsFilter.invoke(MetricsFilter.java:73) at org.apache.dubbo.rpc.cluster.filter.support.MetricsConsumerFilter.invoke(MetricsConsumerFilter.java:37) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.rpc.cluster.filter.support.ConsumerClassLoaderFilter.invoke(ConsumerClassLoaderFilter.java:40) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilter.invoke(ConsumerContextFilter.java:116) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:196) at org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$ClusterFilterInvoker.invoke(AbstractCluster.java:91) at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:103) at org.apache.dubbo.rpc.cluster.support.wrapper.ScopeClusterInvoker.invoke(ScopeClusterInvoker.java:169) at org.apache.dubbo.registry.client.migration.MigrationInvoker.invoke(MigrationInvoker.java:284) at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:61) at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75) ... Caused by: com.alibaba.com.caucho.hessian.io.HessianProtocolException: com.alibaba.com.caucho.hessian.io.BasicDeserializer: unexpected object java.lang.String at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.error(AbstractDeserializer.java:131) at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.readMap(AbstractDeserializer.java:111) at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.readMap(AbstractDeserializer.java:119) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2123) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2104) at com.alibaba.com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize(JavaDeserializer.java:411) ... 111 more at org.apache.dubbo.remoting.exchange.support.DefaultFuture.doReceived(DefaultFuture.java:249) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.remoting.exchange.support.DefaultFuture.received(DefaultFuture.java:200) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.remoting.exchange.support.DefaultFuture.received(DefaultFuture.java:188) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleResponse(HeaderExchangeHandler.java:65) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:206) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:53) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:62) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.common.threadpool.ThreadlessExecutor$RunnableWrapper.run(ThreadlessExecutor.java:152) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.common.threadpool.ThreadlessExecutor.waitAndDrain(ThreadlessExecutor.java:77) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.AsyncRpcResult.get(AsyncRpcResult.java:205) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.AbstractInvoker.waitForResultIfSync(AbstractInvoker.java:287) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:190) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:71) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.filter.RpcExceptionFilter.invoke(RpcExceptionFilter.java:41) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:196) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.ReferenceCountInvokerWrapper.invoke(ReferenceCountInvokerWrapper.java:88) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invokeWithContext(AbstractClusterInvoker.java:383) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:80) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:344) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.router.RouterSnapshotFilter.invoke(RouterSnapshotFilter.java:46) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:108) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.support.MetricsClusterFilter.invoke(MetricsClusterFilter.java:56) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:52) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.spring.security.filter.ContextHolderParametersSelectedTransferFilter.invoke(ContextHolderParametersSelectedTransferFilter.java:41) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.metrics.filter.MetricsFilter.invoke(MetricsFilter.java:73) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.support.MetricsConsumerFilter.invoke(MetricsConsumerFilter.java:37) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.support.ConsumerClassLoaderFilter.invoke(ConsumerClassLoaderFilter.java:40) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.support.ConsumerContextFilter.invoke(ConsumerContextFilter.java:116) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CopyOfFilterChainNode.invoke(FilterChainBuilder.java:334) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$CallbackRegistrationInvoker.invoke(FilterChainBuilder.java:196) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$ClusterFilterInvoker.invoke(AbstractCluster.java:91) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:103) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.cluster.support.wrapper.ScopeClusterInvoker.invoke(ScopeClusterInvoker.java:169) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.registry.client.migration.MigrationInvoker.invoke(MigrationInvoker.java:284) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.proxy.InvocationUtil.invoke(InvocationUtil.java:61) ~[dubbo-3.2.5.jar:3.2.5] at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:75) ~[dubbo-3.2.5.jar:3.2.5] ... ```根据 dubbo-go-hessian2 文档, Golang使用
*int64
, Java使用java.lang.Long
, 预期Java可以正确解析, 实测反序列化失败.