[ 
https://issues.apache.org/jira/browse/HDFS-5224?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Nauroth updated HDFS-5224:
--------------------------------

    Attachment: HDFS-5224.2.patch

Here is version 2 of the patch.

bq. Is it acceptable to have the descriptor's internal representation still be 
a String, but then turn it into a Path for the client in the getter?

I wound up not doing this, because it didn't seem to simplify anything in 
practice.  On the client side, it causes an extra trip through the {{Path}} 
constructor.  On the server side, code like {{CacheManager}} still ends up 
needing to turn the {{Path}} back into a {{String}}.

The fundamental problem here is that the client wants a URI, and the NN wants 
just a path.  If we don't want to define different data types to represent that 
difference, then we need to overload the meaning of something.  Putting a 
{{Path}} in the object and unpacking in a few places in the NN seems like the 
least intrusive way to do that, so I'm OK with this.  Let me know what you 
think.

> Refactor PathBasedCache* methods to use a Path rather than a String
> -------------------------------------------------------------------
>
>                 Key: HDFS-5224
>                 URL: https://issues.apache.org/jira/browse/HDFS-5224
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode, namenode
>    Affects Versions: HDFS-4949
>            Reporter: Andrew Wang
>            Assignee: Chris Nauroth
>         Attachments: HDFS-5224.1.patch, HDFS-5224.2.patch
>
>
> As discussed in HDFS-5213, we should refactor PathBasedCacheDirective and 
> related methods in DistributedFileSystem to use a Path to represent paths to 
> cache, rather than a String.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to