kazetyan commented on issue #13814:
URL: https://github.com/apache/dubbo/issues/13814#issuecomment-1980017862
> 我加了-XX:-OmitStackTraceInFastThrow,报错日志也还是上面一样的,没有更多有效日志打印
jdk8+dubbo3.0.15+spring-core-5.3.27 + k8s部署
>
> provider和consumer配置的xml,没有使用dubbo复杂功能,只用了简单的rpc。<dubbo:service
interface="com.XXX....IUserService" ref="userService" />
>
>
我在测试环境复现出了上面错误,复现场景,一个consumer-A,两个provider-B和C。A调用B和C的dubbo接口,dubbo接口参数是一个枚举类,我在枚举类里新增一种类型NEW,只把A和B升级编译新增了枚举类型NEW,C还是用的老的代码不含新的枚举类型。调用接口的时候A调用B返回200,A调用C返回报错java.lang.IllegalArgumentException:
No enum constan。但再多调用几次就会出现上面的报错org.apache.dubbo.remoting.RemotingException:
Fail to decode request due to: java.lang.NullPointerException
>
> 代码如下: userService.update(AndroidDevice.NEW);
>
> public enum AndroidDevice {
>
> ```
> DEFAULT(0), OLD(6), NEW(7);
>
> private int value;
>
> AndroidDevice(int value) {
> this.value = value;
> }
>
> public int value() {
> return value;
> }
> ```
>
> }
按这个方法复现不出来,都是IllegalArgumentException,可以传个demo吗
还有个问题,改默认序列化了吗,是hessian2吗?
```
Caused by: org.apache.dubbo.remoting.RemotingException: Fail to decode
request due to: com.alibaba.com.caucho.hessian.io.IOExceptionWrapper:
java.lang.reflect.InvocationTargetException
com.alibaba.com.caucho.hessian.io.IOExceptionWrapper:
java.lang.reflect.InvocationTargetException
at
com.alibaba.com.caucho.hessian.io.EnumDeserializer.create(EnumDeserializer.java:133)
at
com.alibaba.com.caucho.hessian.io.EnumDeserializer.readObject(EnumDeserializer.java:118)
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:102)
at
org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation.decode(DecodeableRpcInvocation.java:212)
at
org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation.decode(DecodeableRpcInvocation.java:92)
at
org.apache.dubbo.remoting.transport.DecodeHandler.decode(DecodeHandler.java:60)
at
org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:44)
at
org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:59)
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:748)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
com.alibaba.com.caucho.hessian.io.EnumDeserializer.create(EnumDeserializer.java:131)
... 16 more
Caused by: java.lang.IllegalArgumentException: No enum constant
org.apache.dubbo.demo.dto.TestEnum.N
at java.lang.Enum.valueOf(Enum.java:238)
... 20 more
at
org.apache.dubbo.remoting.exchange.support.DefaultFuture.doReceived(DefaultFuture.java:223)
at
org.apache.dubbo.remoting.exchange.support.DefaultFuture.received(DefaultFuture.java:185)
at
org.apache.dubbo.remoting.exchange.support.DefaultFuture.received(DefaultFuture.java:173)
at
org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleResponse(HeaderExchangeHandler.java:60)
at
org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:181)
at
org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:51)
at
org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:59)
at
org.apache.dubbo.common.threadpool.ThreadlessExecutor$RunnableWrapper.run(ThreadlessExecutor.java:184)
at
org.apache.dubbo.common.threadpool.ThreadlessExecutor.waitAndDrain(ThreadlessExecutor.java:103)
at org.apache.dubbo.rpc.AsyncRpcResult.get(AsyncRpcResult.java:193)
... 23 more
```
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]