[
https://issues.apache.org/jira/browse/HDFS-12735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16244617#comment-16244617
]
Jitendra Nath Pandey commented on HDFS-12735:
---------------------------------------------
bq. The ratis StateMachine#applyTransaction does not guarantee that the calls
will be ordered according to the log commit order and this function is the one
which is implemented in this patch(Source: StateMachine.java file in ratis)
It is a little more complicated than I initially thought. Even though,
operations like create and delete will be ordered by the client, the client
would like to write a single large object in a pipeline asynchronously. Since,
ozone objects are append only, the container state machine will need to order
the writes for individual objects. The writes for different objects can be in
parallel.
[~szetszwo] has provided a sophisticated task queue in RATIS-122, that tries
to achieve similar. The additional complexity is that, a task queue is needed
per object being written in the state machine.
> 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]