Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-935

Avoid creating an already created container on a datanode in case of disk removal followed by datanode restart

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.4.0
    • 0.4.0
    • Ozone Datanode
    • None

    Description

      Currently, a container gets created when a writeChunk request comes to HddsDispatcher and if the container does not exist already. In case a disk on which a container exists gets removed and datanode restarts and now, if a writeChunkRequest comes , it might end up creating the same container again with an updated BCSID as it won't detect the disk is removed. This won't be detected by SCM as well as it will have the latest BCSID. This Jira aims to address this issue.

      The proposed fix would be to persist the all the containerIds existing in the containerSet when a ratis snapshot is taken in the snapshot file. If the disk is removed and dn gets restarted, the container set will be rebuild after scanning all the available disks and the the container list stored in the snapshot file will give all the containers created in the datanode. The diff between these two will give the exact list of containers which were created but were not detected after the restart. Any writeChunk request now should validate the container Id from the list of missing containers. Also, we need to ensure container creation does not happen as part of applyTransaction of writeChunk request in Ratis.

      Attachments

        1. HDDS-935.000.patch
          17 kB
          Shashikant Banerjee
        2. HDDS-935.001.patch
          19 kB
          Shashikant Banerjee
        3. HDDS-935.002.patch
          19 kB
          Shashikant Banerjee
        4. HDDS-935.003.patch
          21 kB
          Shashikant Banerjee
        5. HDDS-935.004.patch
          22 kB
          Shashikant Banerjee
        6. HDDS-935.005.patch
          30 kB
          Shashikant Banerjee
        7. HDDS-935.006.patch
          29 kB
          Shashikant Banerjee
        8. HDDS-935.007.patch
          28 kB
          Shashikant Banerjee
        9. HDDS-935.008.patch
          28 kB
          Shashikant Banerjee

        Activity

          People

            shashikant Shashikant Banerjee
            rakeshr Rakesh Radhakrishnan
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: