[ 
https://issues.apache.org/jira/browse/HDDS-16139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18105796#comment-18105796
 ] 

Chia-Chuan Ho commented on HDDS-16139:
--------------------------------------

Hi [~smeng]
I reviewed the current behavior after HDDS-15775 and wanted to check that my 
understanding of the intended authority contract is correct.
  * OFS accepts DNS names, IPv4 addresses, OM service IDs, [IPv6], and 
[IPv6]:port.
 * OFS rejects unbracketed IPv6 authorities, including forms without an 
explicit port. HostAndPort.fromString() currently accepts these, so brackets 
would need to be enforced separately.
 * O3FS continues to accept bucket.volume, DNS, IPv4, and OM service-ID 
endpoint forms.
 * O3FS rejects raw IPv6 literals with an error suggesting an OM service ID or 
DNS name instead.

 
There are two details where I may be reading the description too strictly:
  # For OFS, should all unbracketed IPv6 authorities, including 
ofs://2001:db8::10/, be rejected, or only forms that could be interpreted as 
containing a port?
 # For O3FS, does the OM service ID or DNS requirement apply specifically when 
an IPv6 endpoint needs to be represented? If so, the existing 
o3fs://bucket.volume/ configuration-based form and IPv4 endpoint forms would 
remain supported.

 
One URI-level limitation is that o3fs://bucket.volume.[2001:db8::10]:9862/ is 
rejected by java.net.URI before O3FS initialization because the IPv6 literal 
cannot be appended to the dotted bucket.volume host. Ozone can still provide a 
clearer error for parseable forms such as 
o3fs://bucket.volume.2001:db8::10:9862/.
 
Does this match the intended scope?
 
Thanks!

> Define and enforce OFS and O3FS IPv6 authority contracts
> --------------------------------------------------------
>
>                 Key: HDDS-16139
>                 URL: https://issues.apache.org/jira/browse/HDDS-16139
>             Project: Apache Ozone
>          Issue Type: Task
>            Reporter: Siyao Meng
>            Priority: Major
>
> Define the supported IPv6 authority forms for both Ozone filesystem schemes 
> after the parser changes in HDDS-15775.
> Requirements:
> * Accept bracketed IPv6 authorities such as ofs://[2001:db8::10]:9862/.
> * Reject ambiguous unbracketed IPv6 host-and-port values.
> * Preserve DNS, IPv4, and OM service-ID behavior.
> * Require an OM service ID or DNS name for o3fs because its dotted 
> bucket.volume authority cannot safely embed a raw IPv6 literal.
> * Return a clear error for unsupported o3fs literal forms.
> * Add URI construction, initialization, and round-trip tests.
> Depends on HDDS-15775.
> 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