Replies: 4 comments 9 replies
-
this can probably be achieved by using something like
Yep, that is absolutely required |
Beta Was this translation helpful? Give feedback.
-
Actually this doesn't make it as in the case of streaming calls (watch) it breaks the back-pressure chain. The stream must be paused before doing the blocking call and resumed after it's finished. I think this can only be done in jetcd's internals. |
Beta Was this translation helpful? Give feedback.
-
I'll see what I can do. |
Beta Was this translation helpful? Give feedback.
-
Makes sense. Thanks for the context.
I started a WIP PR with inspiration from what is done by grpc-java: #1558 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Jetcd uses vertx-grpc which makes calls being executed on the Vert.x IO event loop.
This means it's a bad thing to chain the response of a unary call with a blocking operation or to execute a blocking operation in a streaming call response handling.
For instance, doing:
or
is very bad.
Before, Jetcd was using grpc-java which was delegating answers handling to a gRPC thread-pool.
So it would be nice to have an option to make answers be handled in the vert.x blocking worker pool (through vertx.executeBlocking() ?).
And to document clearly the default behavior so people are aware of the possible performance issue.
WDYT ?
Beta Was this translation helpful? Give feedback.
All reactions