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]