Skip to content

[Bug] Dubbo3 Triple protocol not support GRPC backpressure #15827

@tubingbing

Description

@tubingbing

Pre-check

  • I am sure that all the content I provide is in English.

Search before asking

  • I had searched in the issues and found no similar issues.

Apache Dubbo Component

Java SDK (apache/dubbo)

Dubbo Version

dubbo version 3.3.6 and openjdk17

Steps to reproduce this issue

proto file:

syntax = "proto3";

package xxx.grpc.api;

option java_multiple_files = true;
option java_package = "xxx.grpc.api";
option java_outer_classname = "HelloWorldProto";

service MyService {
  rpc SayHello (HelloRequest) returns (HelloReply) {}
  rpc SayHelloServerStream (HelloRequest) returns (stream HelloReply) {}
  rpc SayHelloClientStream (stream HelloRequest) returns (HelloReply) {}
  rpc SayHelloBiStream (stream HelloRequest) returns (stream HelloReply) {}
}

message HelloRequest {
  string name = 1;
}

message HelloReply {
  string message = 1;
}

Compiling and packaging with grpc-java allows for the use of grpc's backpressure, while compiling with dubbo does not support the following code:

@GrpcService
public class MyServiceImpl extends MyServiceGrpc.MyServiceImplBase {
    @Override
    public StreamObserver<HelloRequest> sayHelloBiStream(StreamObserver<HelloReply> responseObserver) {
        **ServerCallStreamObserver<HelloReply> serverObs = (ServerCallStreamObserver)responseObserver;
        serverObs.disableAutoInboundFlowControl();**
        ........
    }
}

What you expected to happen

I want to know how to solve it

Anything else

No response

Are you willing to submit a pull request to fix on your own?

  • Yes I am willing to submit a pull request on my own!

Code of Conduct

Metadata

Metadata

Labels

type/enhancementEverything related with code enhancement or performance

Type

No type

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions