Skip to content

fix(grpc): complete client calls asynchronously - #7103

Open
dengliming wants to merge 4 commits into
apache:masterfrom
dengliming:fix-6612-nonblocking-grpc-call
Open

dengliming wants to merge 4 commits into
apache:masterfrom
dengliming:fix-6612-nonblocking-grpc-call

Conversation

@dengliming

Copy link
Copy Markdown
Member

Summary

  • remove the blocking ListenableFuture.get call from ShenyuGrpcClient
  • complete the returned CompletableFuture from the gRPC completion observer
  • propagate Reactor-side cancellation to the underlying gRPC invocation
  • cover non-blocking completion and cancellation with timeout-protected regression tests

Testing

  • mvn -pl shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-grpc -am -DskipTests=false -Dcheckstyle.skip=false -Dtest=ShenyuGrpcClientTest,GrpcPluginTest -DfailIfNoTests=false test

Fixes #6612

@Aias00 Aias00 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved as PMC (Aias00). Small, well-scoped fix with regression tests; green CI, mergeable. Reviewed the diff.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] GrpcPlugin blocks reactor netty event loop on synchronous gRPC call

2 participants