Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-6462 Phase II : Erasure Coding Offline Recovery & Read/Write Improvements
  3. HDDS-7206

EC: Change the placement policy interface to allow existing nodes to be specified.

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.3.0
    • None

    Description

      The existing interface only allows for excluded nodes to be passed, which we use to exclude nodes already used in a pipeline. However when we go to add a new node to a pipeline (eg EC Reconstruction, or replication) the excluded node list cannot be used to indicate the existing racks used. This means the placement policies are not "rack aware" when used to select additional nodes. We will pick new nodes, and it may cause the container to become mis-replicated (ie not on enough racks).

      Ideally we should pass in the existing nodes separately from excluded nodes. That would allow the policies to lookup the racks of those nodes and hence correctly select new nodes that meet the placement policy.

      The policies should probably throw an exception if a node cannot be found which meets the placement policy. Perhaps we could have a fallback flag which indicates any node will do if we cannot meet the placement policy at the current time.

      Attachments

        Issue Links

          Activity

            People

              swamirishi Swaminathan Balachandran
              swamirishi Swaminathan Balachandran
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: