[
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]