hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shashikant Banerjee (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDDS-185) TestCloseContainerByPipeline#testCloseContainerViaRatis fail intermittently
Date Thu, 28 Jun 2018 13:36:00 GMT

    [ 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


Mime
View raw message