jojochuang opened a new pull request, #11450: URL: https://github.com/apache/ozone/pull/11450
## Summary Reopens [HDDS-15072](https://issues.apache.org/jira/browse/HDDS-15072) after rebase onto master (supersedes closed #10123). Builds on merged [HDDS-15071](https://issues.apache.org/jira/browse/HDDS-15071) / #11054: - Adds `ReplicationManager.isNodeHighlyLoaded()` using queued replication count vs effective per-node limit (including out-of-service scaling). - When `hdds.scm.replication.decommission.ec.reconstruction.enabled=true`, `ECUnderReplicationHandler` switches EC decommission recovery from 1-1 replication to reconstruction when a decommissioning source is highly loaded. - Prefers IN_SERVICE replicas as reconstruction sources when enough data blocks exist (source offloading), bypassing overloaded decommissioning nodes. - Reconstruction commands go through `sendThrottledReconstructionCommand()` so the global limit from HDDS-15071 applies. **Default behavior is unchanged** (`decommission.ec.reconstruction.enabled=false`). ## Jira https://issues.apache.org/jira/browse/HDDS-15072 ## Test plan - [x] `mvn -pl :hdds-server-scm -am clean test -Dtest=TestECUnderReplicationHandler#testUnderReplicationWithDecomNodesSwitchToReconstruction,TestECUnderReplicationHandler#testUnderReplicationWithDecomNodesOverloaded -DskipShade -DskipRecon -DskipDocs` - [ ] CI Generated-by: Cursor (Auto) Made with [Cursor](https://cursor.com) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
