[ 
https://issues.apache.org/jira/browse/HDDS-5954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17453311#comment-17453311
 ] 

Tsz-wo Sze commented on HDDS-5954:
----------------------------------

For #3, you probably already know that Ratis support ordered async.  Ozone 
should also support it.

For #4, we definitely should reuse the StreamObserve -- Ratis does reuse 
StreamObserve; see the sendRequestAsync and the sendRequestAsyncUnordered 
methods in org.apache.ratis.grpc.client.GrpcClientRpc.

Since Ratis is a library, we may consider exposing the Ratis implementation of 
ordered async for consuming by other applications.

> EC: Review the TODOs in GRPC Xceiver client and fix them.
> ---------------------------------------------------------
>
>                 Key: HDDS-5954
>                 URL: https://issues.apache.org/jira/browse/HDDS-5954
>             Project: Apache Ozone
>          Issue Type: Sub-task
>            Reporter: Uma Maheswara Rao G
>            Assignee: István Fajth
>            Priority: Major
>
> 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.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to