Swaminathan Balachandran created HDDS-7206:
----------------------------------------------

             Summary: Change the placement policy interface to allow existing 
nodes to be specified.
                 Key: HDDS-7206
                 URL: https://issues.apache.org/jira/browse/HDDS-7206
             Project: Apache Ozone
          Issue Type: Sub-task
            Reporter: Swaminathan Balachandran
            Assignee: Swaminathan Balachandran


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.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to