aryangupta1998 commented on PR #10157: URL: https://github.com/apache/ozone/pull/10157#issuecomment-4432112262
@sodonnel, thanks, this is a good point. The pipeline safemode rules are there to ensure SCM has basic pipeline readiness before leaving safemode: **HealthyPipelineSafeModeRule** checks that enough selected open pipelines are healthy. **OneReplicaPipelineSafeModeRule** checks that selected open pipelines are reported by at least one DN. The issue was that selection was effectively hardcoded to `RATIS/THREE`. In an EC-default (or EC-only) setup, that can be wrong. A concrete case: with old behavior, the default threshold floor is 1 pipeline (`min.datanode=3 / 3`). If the cluster is EC-only and has no `RATIS/THREE` pipelines, this rule may never satisfy, and safemode can stay blocked unless config/workaround is used. This patch fixes that by making pipeline safemode checks follow `ReplicationConfig.getDefault(conf)`: If the default is EC, rules check EC pipelines; If the default is Ratis, behavior stays the same. I also updated BackgroundPipelineCreator so EC pipeline creation is included when the default is EC, so creation and safemode checks stay aligned. -- 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]
