You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Shashikant Banerjee (JIRA)" <ji...@apache.org> on 2018/06/28 13:36:00 UTC
[jira] [Commented] (HDDS-185)
TestCloseContainerByPipeline#testCloseContainerViaRatis fail intermittently
[ https://issues.apache.org/jira/browse/HDDS-185?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16526310#comment-16526310 ]
Shashikant Banerjee commented on HDDS-185:
------------------------------------------
Patch v0 fixes the test by removing the assert condition check if the closeContainerCommandhandler is invoked on all Datanodes when a container
gets closed. A separate test case is added to verify the closeContainerCommandHandler Invocation.
> TestCloseContainerByPipeline#testCloseContainerViaRatis fail intermittently
> ---------------------------------------------------------------------------
>
> Key: HDDS-185
> URL: https://issues.apache.org/jira/browse/HDDS-185
> Project: Hadoop Distributed Data Store
> Issue Type: Sub-task
> Components: SCM
> Reporter: Shashikant Banerjee
> Assignee: Shashikant Banerjee
> Priority: Major
> Attachments: HDDS-185.00.patch
>
>
> CloseCommand gets picked up via datanode by the Hearbeat response it receives from SCM. It may happen, one of the follower node not yet received the heartBeat response from SCM whereas the leader has got issued the closeContainer Command encoded from its own HeartBeat response from SCM. In such a case, leader will close the container followed by the followers.
> The follower on which the container is closed Via ratis, has not yet received any CloseContainer command from SCM directly and hence on that closeCommandHandler is not invoked yet. hence the assertion on the below code in one of the followers:
> {code:java}
> if (!containerData.isOpen()) {
> // make sure the closeContainerHandler on the Datanode is invoked
> Assert.assertTrue(
> datanodeService.getDatanodeStateMachine().getCommandDispatcher()
> .getCloseContainerHandler().getInvocationCount() > 0);
> return true;
> }{code}
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org