grpc-kotlin icon indicating copy to clipboard operation
grpc-kotlin copied to clipboard

Stopped working with gRPC-java 1.70.0

Open Rawa opened this issue 9 months ago • 1 comments
trafficstars

Hello!

We are using this dependency along with gRPC java to generate our gRPC interface. We've implemented it in a similar fashion as the example provided in this repo. However, when upgrading to grpc-java we seem to hit some issues. Compiled code for streaming calls seems to have stopped working.

The following generated (Generated from grpc-java as I understand it) to in our grpc java file is broken due to it seemingly referencing grpc-io.stub 1.57.2. BlockingClientCall can not be resolved.

    /**
     * <pre>
     * Control the daemon and receive events
     * </pre>
     */
    @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/10918")
    public io.grpc.stub.BlockingClientCall<?, mullvad_daemon.management_interface.ManagementInterface.DaemonEvent>
        eventsListen(com.google.protobuf.Empty request) {
      return io.grpc.stub.ClientCalls.blockingV2ServerStreamingCall(
          getChannel(), getEventsListenMethod(), getCallOptions(), request);
    }

Looking at my dependency structure:

|    +--- io.grpc:grpc-kotlin-stub:1.4.1
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.8.0 -> 2.1.10 (*)
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3 -> 1.10.1 (*)
|    |    +--- io.grpc:grpc-stub:1.57.2
|    |    |    +--- io.grpc:grpc-api:1.57.2 -> 1.70.0 (*)

It seems like grpc-kotlin-stub caused it to pull stub version 1.57.2. Looking from the source code only grpc-kotlin has a direct dependency on 1.57.2, see here, which doesn't play well with grpc-java since it then lacks the new streaming stub calls.

Is it possible to create a new release with some updated dependencies?

Rawa avatar Jan 30 '25 08:01 Rawa