Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Abandoned
-
None
-
None
-
None
Description
Currently there are 4 TODO-s in the GRPC client.
1. L331 adds a note that we should cache the current leader, so that we can go to the leader next time.
2. L422 adds a note about sendCommandAsync, which states that it is not async. The code on the other hand seems to be returning a CompletableFuture instance wrapped inside an XceiverClientReply, though sometimes we wait on the future before really returning.
3. L452 notes that async requests are served out of order, and this should be revisited if we make the API async.
4. L483 is connected to #2, and it notes that we should reuse stream observers if we are going down the async route
The latter three requires deeper investigation and understanding, to see how we can approach fixing it, and to figure out whether we really need to fix it.
Attachments
Issue Links
- is a parent of
-
HDDS-6220 EC: Introduce a gRPC client implementation for EC with really async WriteChunk and PutBlock
- Resolved
-
HDDS-6222 Re-work TestContainerMapper test to use the RATIS replication type
- Open
-
HDDS-6218 Deprecate the standalone client for writes
- Open
-
HDDS-6217 Cleanup XceiverClientGrpc TODOs, and document how the client works and should be used.
- Resolved
-
HDDS-6219 Switch to RATIS ReplicationType from STAND_ALONE in our tests
- Resolved
- links to