Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-26 Fix Ozone Unit Test Failures
  3. HDDS-185

TestCloseContainerByPipeline#testCloseContainerViaRatis fail intermittently

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.2.1
    • SCM
    • None
    • HDDS Acadia

    Description

      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:

      if (!containerData.isOpen()) {
        // make sure the closeContainerHandler on the Datanode is invoked
        Assert.assertTrue(
            datanodeService.getDatanodeStateMachine().getCommandDispatcher()
                .getCloseContainerHandler().getInvocationCount() > 0);
        return true;
      }

       

      Attachments

        1. HDDS-185.00.patch
          5 kB
          Shashikant Banerjee

        Activity

          People

            shashikant Shashikant Banerjee
            shashikant Shashikant Banerjee
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: