[
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]