Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
ECUnderReplicationHandler checks if current replica datanodes + potential replica datanodes satisfy placement policy. If they don't, the targets are rejected and recovery fails. While this check makes some sense, it can block container recovery. Since under replication is more serious than mis replication, we should let a new replica be reconstructed even if it doesn't satisfy placement policy.
Also, we should rely on the policy to suggest a node that satisfies the policy - if there is none, the policy will fallback and try to suggest a node on a rack where the container is already present.
Attachments
Issue Links
- Discovered while testing
-
HDDS-9011 EC: Unhealthy replica not replaced with a healthy replica in a rack-scatter environment
- Resolved
- links to