Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple Services 在启用 Connection Multiplexing 的情况下不能正常工作 #1285

Open
aaronjheng opened this issue Mar 10, 2024 · 7 comments
Assignees
Labels
bug Something isn't working

Comments

@aaronjheng
Copy link

Describe the bug

Multiple Services 在启用 Connection Multiplexing 的情况下不能正常工作

To Reproduce

Steps to reproduce the behavior:

  1. 克隆 https://github.com/cloudwego/kitex
  2. 修改 protobuf_multi_service
    1. Client 增加 client.WithMuxConnection(1) 选项
    2. Server 增加 server.WithMuxTransport() 选项
  3. 运行 Server
  4. 运行 Client

Expected behavior

Client程序能正常输出

Screenshots

Client 报错
image

Server 报错
image

Kitex version:

0.9.0

Environment:

The output of go env.

Additional context

@Marina-Sakai
Copy link
Contributor

@aaronjheng When you don't add Connection Multiplexing, does it work? If yes, please tell me the result.

@aaronjheng
Copy link
Author

Yes. It works.

@Marina-Sakai
Copy link
Contributor

@aaronjheng May I see the result without Connection Multiplexing?

@aaronjheng
Copy link
Author

IDL

syntax = "proto3";

option go_package = "multi/service";

package multiservice;

service ServiceA {
  rpc ChatA (RequestA) returns (Reply) {}
  rpc ChatAB (RequestA) returns (Reply) {}
}

service ServiceB {
  rpc ChatB (RequestB) returns (Reply) {}
  rpc ChatAB (RequestB) returns (Reply) {}
}

message RequestA {
  string name = 1;
}

message RequestB {
  string name = 1;
}

message Reply {
  string message = 1;
}

Calls

clientA.ChatA
clientA.ChatAB
clientB.ChatB
clientB.ChatAB

Client

image

Server

image

@joway
Copy link
Member

joway commented Mar 12, 2024

@Marina-Sakai I think we could write a test case to reproduce this case. I think maybe somewhere don't handle some case correctly, because we don't have try multi service in Mux mode.

@Marina-Sakai
Copy link
Contributor

Marina-Sakai commented Mar 12, 2024

@aaronjheng @joway I reproduced this case and found a bug. I'll fix it. Thank you for your report.

@Marina-Sakai
Copy link
Contributor

@aaronjheng It's fixed in v0.9.2-rc1 version. Please go get that version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Development

No branches or pull requests

4 participants