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]