[
https://issues.apache.org/jira/browse/HDFS-11221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15811653#comment-15811653
]
Jiajia Li commented on HDFS-11221:
----------------------------------
Hi [~ehiggs],
Thanks for your reviews and detailed comments.
One question:
bq. As a rule of thumb, we should limit the surface of Optional values so we
can get back to our actual types and work with those as soon as possible. All
of these are relative to root. So it makes sense that these functions which
aren't seen outside HDFS are changed to accept File root as an argument and
return File without the Optional wrapper.
Do you means add the functions as following:
{code}
protected File getCurrentDir(File root) {
...
}
{code}
Thanks again for your suggestion and I will update the patch.
> Have StorageDirectory return Optional<File> instead of File/null
> ----------------------------------------------------------------
>
> Key: HDFS-11221
> URL: https://issues.apache.org/jira/browse/HDFS-11221
> Project: Hadoop HDFS
> Issue Type: Task
> Reporter: Ewan Higgs
> Assignee: Jiajia Li
> Priority: Minor
> Attachments: HDFS-11221-v1.patch
>
>
> In HDFS-10675, {{StorageDirectory.root}} can be {{null}} because {{PROVIDED}}
> storage locations will not have any directories associated with them. Hence,
> we need to add checks to StorageDirectory to make sure we handle this. This
> would also lead to changes in code that call {{StorageDirectory.getRoot}},
> {{StorageDirectory.getCurrentDir}}, {{StorageDirectory.getVersionFile}} etc.
> as the return value can be {{nul}}l (if {{StorageDirectory.root}} is null).
> The proposal to handle this is to change the return type of the above
> functions to {{Optional<File>}}. According to my preliminary check, this will
> result in changes in ~70 places, which is why it's not appropriate to put it
> in the patch for HDFS-10675. But it is certainly a valuable fix.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]