aryangupta1998 opened a new pull request, #10157: URL: https://github.com/apache/ozone/pull/10157
## What changes were proposed in this pull request? Today SCM safemode pipeline exit checks are effectively hardcoded to `RATIS/THREE`, which is incorrect when cluster default replication is EC. In EC-default deployments, safemode should validate pipelines for the configured default replication instead of only `RATIS/THREE.` This patch generalizes safemode pipeline validation to use `ReplicationConfig.getDefault(conf):` `HealthyPipelineSafeModeRule` now evaluates pipelines matching the configured default replication config and uses required node count from that config. `OneReplicaPipelineSafeModeRule` now tracks/report-validates pipelines matching the configured default replication config. To keep behavior consistent, BackgroundPipelineCreator is updated to include EC pipeline creation when default replication type is EC, while preserving existing RATIS behavior when EC is not configured. **Expected outcome:** RATIS default: behavior remains unchanged. EC default: safemode pipeline checks validate EC pipelines, and background creation can create EC pipelines accordingly. Validation Added/updated below SCM tests for EC-default and RATIS-default paths. TestHealthyPipelineSafeModeRule TestOneReplicaPipelineSafeModeRule TestSCMSafeModeManager TestBackgroundPipelineCreator **Note**: For EC-default setups in SCM safemode paths, ensure both are set: ``` ozone.replication.type=EC ozone.replication=RS-3-2-1024k ``` ## What is the link to the Apache JIRA https://issues.apache.org/jira/browse/HDDS-15138 ## How was this patch tested? Unit tests. -- 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]
