apache / apache/dubbo

dubbo 3.1.9 如果想用 kryo 序列化的话,应该用哪个版本?

Open
#12,065 3 comments 0 reactions 0 assignees View on GitHub
help wanted
Dominant language
Java
Stars
41.6k
Forks
26.4k
Avg merge
15h 13m
Merged PRs (30d)
4

Description

我用的这个
```

org.apache.dubbo.extensions
dubbo-serialization-kryo
1.0.1

```

但是会报错,应该用哪个版本?

```
2023-04-11 17:31:32.607 WARN 15080 --- [:20801-thread-3] o.a.d.r.p.dubbo.DecodeableRpcInvocation : [DUBBO] Decode rpc invocation failed: java.util.ArrayList cannot be cast to java.util.Map, dubbo version: 3.1.9, current host: 192.168.1.1, error code: 4-20. This may be caused by , go to https://dubbo.apache.org/faq/4/20 to find instructions.

java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map
at org.apache.dubbo.common.serialize.ObjectInput.readAttachments(ObjectInput.java:86) ~[dubbo-3.1.9.jar:3.1.9]
at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation.decode(DecodeableRpcInvocation.java:218) ~[dubbo-3.1.9.jar:3.1.9]
at org.apache.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation.decode(DecodeableRpcInvocation.java:93) ~[dubbo-3.1.9.jar:3.1.9]
at org.apache.dubbo.remoting.transport.DecodeHandler.decode(DecodeHandler.java:62) [dubbo-3.1.9.jar:3.1.9]
at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:46) [dubbo-3.1.9.jar:3.1.9]
at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:62) [dubbo-3.1.9.jar:3.1.9]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_322]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_322]
at org.apache.dubbo.common.threadlocal.InternalRunnable.run(InternalRunnable.java:41) [dubbo-3.1.9.jar:3.1.9]
at java.lang.Thread.run(Thread.java:750) [na:1.8.0_322]
```

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the dubbo-serialization-kryo 1.0.1 dependency alongside the Dubbo 3.1.9 version and the DecodeableRpcInvocation/ObjectInput stack-trace entries. Check the linked FAQ 4-20 guidance and compatibility information for the Kryo extension. Done means identifying the compatible dependency version or configuration that prevents the ArrayList-to-Map cast failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend-api-design, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.