envoyproxy / envoy

Cloud-native high-performance edge/middle/service proxy
https://www.envoyproxy.io
Apache License 2.0
24.95k stars 4.8k forks source link

dubbo: heart beat response error #17996

Closed wbpcode closed 3 years ago

wbpcode commented 3 years ago

Title: dubbo heart beat response error

Description:

Dubbo Proxy will return an incorrect heart beat response when received a heart beat request and causing client-side parsing error.

[DUBBO] Decode response failed: Decode dubbo protocol event failed.
java.io.EOFException: readObject: unexpected end of file
        at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2792)
        at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2308)
        at org.apache.dubbo.common.serialize.hessian2.Hessian2ObjectInput.readObject(Hessian2ObjectInput.java:94)
        at org.apache.dubbo.common.serialize.ObjectInput.readEvent(ObjectInput.java:83)
        at org.apache.dubbo.remoting.exchange.codec.ExchangeCodec.decodeEventData(ExchangeCodec.java:400)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboCodec.decodeBody(DubboCodec.java:83)
        at org.apache.dubbo.remoting.exchange.codec.ExchangeCodec.decode(ExchangeCodec.java:122)
        at org.apache.dubbo.remoting.exchange.codec.ExchangeCodec.decode(ExchangeCodec.java:82)
        at org.apache.dubbo.rpc.protocol.dubbo.DubboCountCodec.decode(DubboCountCodec.java:48)
wbpcode commented 3 years ago

It seems that the root cause is that the heat beat response generated by the dubbo proxy is missing one byte.

I will try to verity and fix it.