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

Siddharth Wagle edited comment on HDDS-807 at 3/5/19 4:22 AM:
--------------------------------------------------------------

[~bharatviswa] The mock tests do test out the changes that are made in the 
patch. IMHO, the test for 
{noformat}
org.apache.hadoop.ozone.client.OzoneClientFactory#getRpcClient(java.lang.String,
 java.lang.Integer, org.apache.hadoop.conf.Configuration)
{noformat} should not be in the scope of this Jira. I do see that there are no 
direct calls that instantiate the RpcClient with OM host and port. We should 
open another Jira to test out the RpcClient primed with user-provided host port 
as a separate Jira to improve test coverage. If you agree I'd be happy to file 
separate Jira for it.

The FITs actually are quite heavy-weight and I deliberately wanted to add the 
mock tests to make sure testing a small change like this does not need a 
cluster spin up.



was (Author: swagle):
[~bharatviswa] The mock tests do test out the changes that are made in the 
patch. IMHO, the test for 
{noformat}
org.apache.hadoop.ozone.client.OzoneClientFactory#getRpcClient(java.lang.String,
 java.lang.Integer, org.apache.hadoop.conf.Configuration)
{noformat} should not be in the scope of this Jira. I do see that there are no 
direct calls that instantiate the RpcClient with OM host and port. We should 
open another Jira to test out the RpcClient primed with user-provided host port 
as a separate Jira to improve test coverage. 


> Period should be an invalid character in bucket names
> -----------------------------------------------------
>
>                 Key: HDDS-807
>                 URL: https://issues.apache.org/jira/browse/HDDS-807
>             Project: Hadoop Distributed Data Store
>          Issue Type: Improvement
>            Reporter: Arpit Agarwal
>            Assignee: Siddharth Wagle
>            Priority: Critical
>              Labels: newbie
>         Attachments: HDDS-807.01.patch, HDDS-807.02.patch, HDDS-807.03.patch, 
> HDDS-807.04.patch
>
>
> ozonefs paths use the following syntax:
> - o3fs://bucket.volume/..
> The OM host and port are read from configuration. We cannot specify a target 
> filesystem with a fully qualified path. E.g. 
> _o3fs://bucket.volume.om-host.example.com:9862/. Hence we cannot hand a fully 
> qualified URL with OM hostname to a client without setting up config files 
> beforehand. This is inconvenient. It also means there is no way to perform a 
> distcp from one Ozone cluster to another.
> We need a way to support fully qualified paths with OM hostname and port 
> _bucket.volume.om-host.example.com_. If we allow periods in bucketnames, then 
> such fully qualified paths cannot be parsed unambiguously. However if er 
> disallow periods, then we can support all of the following paths 
> unambiguously.
>  # *o3fs://bucket.volume/key* - The authority has only two period-separated 
> components. These must be bucket and volume name respectively.
>  # *o3fs://bucket.volume.om-host.example.com/key* - The authority has more 
> than two components. The first two must be bucket and volume, the rest must 
> be the hostname.
>  # *o3fs://bucket.volume.om-host.example.com:5678/key* - Similar to #2, 
> except with a port number.
>  
> Open question is around HA support. I believe for HA we will have to 
> introduce the notion of a _nameservice_, similar to HDFS nameservice. This 
> will allow a fourth kind of Ozone URL:
>  - *o3fs://bucket.volume.ns1/key* - How do we distinguish this from #3 above? 
> One way could be to find if _ns1_ is known as an Ozone nameservice via 
> configuration. If so then treat it as the name of an HA service. Else treat 
> it as a hostname.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to