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

Jitendra Nath Pandey commented on HDFS-12735:
---------------------------------------------

[~anu], the RatisServer before returning response to the client, waits for the 
futures to complete. The async dispatcher ensures that multiple requests that 
multi-threaded clients are firing in parallel are handled in parallel, however, 
for any individual request, the response is not returned until the future 
finally completes. 
 In the given example, it can be assumed that a client will not perform a 
delete operation until writes for that chunk have returned. It is assumed that 
a client will ensure ordering based on its own semantics. However, if a client 
is firing requests without waiting for results from previous requests, there 
are no ordering guarantees.

> Make ContainerStateMachine#applyTransaction async
> -------------------------------------------------
>
>                 Key: HDFS-12735
>                 URL: https://issues.apache.org/jira/browse/HDFS-12735
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Lokesh Jain
>            Assignee: Lokesh Jain
>              Labels: performance
>         Attachments: HDFS-12735-HDFS-7240.000.patch, 
> HDFS-12735-HDFS-7240.001.patch
>
>
> Currently ContainerStateMachine#applyTransaction makes a synchronous call to 
> dispatch client requests. Idea is to have a thread pool which dispatches 
> client requests and returns a CompletableFuture.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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

Reply via email to