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

Hudson commented on HDFS-13024:
-------------------------------

SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #14057 (See 
[https://builds.apache.org/job/Hadoop-trunk-Commit/14057/])
HDFS-13024. Ozone: ContainerStateMachine should synchronize operations (msingh: 
rev a6c2b6694b6607bdff8465bf6641716711e166c6)
* (edit) 
hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java
* (edit) 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/ContainerStateMachine.java
* (edit) 
hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/scm/ScmConfigKeys.java
* (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/resources/ozone-default.xml
* (edit) 
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/XceiverServerRatis.java


> Ozone: ContainerStateMachine should synchronize operations between 
> createContainer and writeChunk
> -------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-13024
>                 URL: https://issues.apache.org/jira/browse/HDFS-13024
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: ozone
>    Affects Versions: HDFS-7240
>            Reporter: Mukul Kumar Singh
>            Assignee: Mukul Kumar Singh
>            Priority: Major
>             Fix For: HDFS-7240
>
>         Attachments: HDFS-13024-HDFS-7240.001.patch, 
> HDFS-13024-HDFS-7240.002.patch, HDFS-13024-HDFS-7240.003.patch, 
> HDFS-13024-HDFS-7240.004.patch, HDFS-13024-HDFS-7240.005.patch, 
> HDFS-13024-HDFS-7240.006.patch, HDFS-13024-HDFS-7240.007.patch, 
> HDFS-13024-HDFS-7240.008.patch
>
>
> This issue happens after HDFS-12853. with HDFS-12853, writeChunk op has been 
> divided into two stages 1) the log write phase (here the state machine data 
> is written) 2) ApplyTransaction.
> With a 3 node ratis ring, ratis leader will append the log entry to its log 
> and forward it to its followers. However there is no guarantee on when the 
> followers will apply the log to the state machine in {{applyTransaction}}. 
> This issue happens in the following order
> 1) Leader accepts create container
> 2) Leader add entries to its logs and forwards to followers
> 3) Followers append the entry to its log and Ack to the raft leader (Please 
> note that the transaction still hasn't been applied)
> 4) Leader applies the transaction and now replies
> 5) write chunk call is sent to the Leader
> 6) Leader now forwards the call to the followers
> 7) Followers try to apply the log by calling {{Dispatcher#dispatch}} however 
> the create container call in 3) still hasn't been applied
> 8) write chunk call on followers fail.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to