Siyao Meng created HDDS-15774:
---------------------------------

             Summary: Make SCM Ratis roles string parsing IPv6-safe
                 Key: HDDS-15774
                 URL: https://issues.apache.org/jira/browse/HDDS-15774
             Project: Apache Ozone
          Issue Type: Task
            Reporter: Siyao Meng


SCMRatisServerImpl.getRatisRoles() (SCMRatisServerImpl.java:291-297) encodes 
each peer as a colon-delimited string host:ratisPort:ROLE:uuid:hostIP. At least 
five consumers re-split this on : and index fixed positions, so an IPv6 literal 
in either the host or the IP field shifts every field:

- StorageContainerManager.java:2188
- GetScmRatisRolesSubcommand.java:76,95
- StorageContainerServiceProviderImpl.java:141 (uses field [4] as the gRPC host 
IP for Recon snapshot download)
- SafeModeCheckSubcommand.java:107,114

This breaks leader detection, ozone admin scm roles, safe mode checks, and 
Recon snapshot download in IPv6 deployments.

Proposed: bracket IPv6 literals in the encoded fields and parse with an 
IPv6-aware splitter, or replace the ad hoc colon protocol with a structured 
representation shared by producer and consumers. Add tests with IPv6 peers.

Parent epic: HDDS-15763.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to