[server] Rewrite gRPC read Service to align with Netty-Based HTTP Server
Rewrite gRPC read Service to align with Netty-Based HTTP Server
- Refactored the Netty handler to enable code reuse for gRPC handlers
- Added missing APIs to the gRPC service to close feature gaps with the HTTP implementation.
- Fixed the gRPC I/O request path threading model: previously, requests
were handled by the gRPC executor thread pool, but now they are processed
by theStorageReadExecutorthread pool for better performance.- Deprecated the old
getandmultiGetgRPC services, which relied on a single schema and encouraged tightly coupled code. This refactor paves the way for implementing server-side streaming support for batch get requests more easily.
- Deprecated the old
- Simplified the request processing logic by replacing the chain of responsibility pattern with a single processor class.
How was this PR tested?
WIP (UTs and E2E will be added)
Does this PR introduce any user-facing changes?
- [x] No. You can skip the rest of this section.
- [ ] Yes. Make sure to explain your proposed changes and call out the behavior change.
I'm still working on client side changes to support streaming within a single route. I've figured out structure for it and working on changes
I'm still working on client side changes to support streaming within a single route. I've figured out structure for it and working changes
Nice, looking forward to it. When you're ready with your next iteration, please rebase, push it up and LMK. I'll take another look.
Hi @sushantmane Do you still have plan to merge this change? It seems to be a good change, but it is too large and do you have plan to split it into multiple ones?
I'll get back to this after PubSub migration.
I'll get back to this after PubSub migration.