Aryan Gupta created HDDS-15138:
----------------------------------
Summary: SCM safemode pipeline rules should honor default EC
replication config
Key: HDDS-15138
URL: https://issues.apache.org/jira/browse/HDDS-15138
Project: Apache Ozone
Issue Type: Improvement
Reporter: Aryan Gupta
Assignee: Aryan Gupta
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 change 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 for
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 SCM tests for EC-default and RATIS-default paths.
* Focused test suite passes for:
** {{TestHealthyPipelineSafeModeRule}}
** {{TestOneReplicaPipelineSafeModeRule}}
** {{TestSCMSafeModeManager}}
** {{TestBackgroundPipelineCreator}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]