Skip to content

brpc Stream导致普通RPC无法解析 #2677

Description

@howarlii

Describe the bug (描述bug)
当同一个brpc::Server中同时存在Stream和普通 RPC,普通RPC将无法解析,报错为:

E20240703 08:42:11.077316 1409359 input_messenger.cpp:123] Fail to parse response from 127.0.0.1:12306 by streaming_rpc at client-side
W20240703 08:42:11.077428 1409359 input_messenger.cpp:249] Close Socket{id=2 fd=8 addr=127.0.0.1:12306:53862} (0x631000014d00): absolutely wrong message
E20240703 08:42:11.077787 1409308 stream_test.cc:138] Fail to send rpc [E22]Close Socket{id=2 fd=8 addr=127.0.0.1:12306:53862} (0x0x631000014d00): absolutely wrong message

之前也有issue讨论过这个问题,但最后不了了之 #392

To Reproduce (复现方法)

最小复现代码:https://github.com/howarle/brpc_benchmark/blob/main/src/stream_test.cc
复现率100%

Expected behavior (期望行为)

目前只能将普通RPC与stream分开两个server,但正常情况下同一个server也应当能够正常两种方案正常同时运行。

Versions (各种版本)
OS: Ubuntu 22.04
Compiler: Clang++ 15.0.7
brpc: 1.9.0
protobuf:

Additional context/screenshots (更多上下文/截图)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugthe code does not work as expected

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions