[
https://issues.apache.org/jira/browse/HADOOP-18193?focusedWorklogId=757524&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-757524
]
ASF GitHub Bot logged work on HADOOP-18193:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 15/Apr/22 22:35
Start Date: 15/Apr/22 22:35
Worklog Time Spent: 10m
Work Description: mccormickt12 commented on code in PR #4181:
URL: https://github.com/apache/hadoop/pull/4181#discussion_r851542051
##########
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/viewfs/InodeTree.java:
##########
@@ -81,6 +88,19 @@ enum ResultKind {
private List<RegexMountPoint<T>> regexMountPointList =
new ArrayList<RegexMountPoint<T>>();
+ private final boolean isNestedMountPointSupported;
+ private Set<LinkEntry> sortedLinkEntries = new TreeSet<>((o1, o2) -> {
Review Comment:
its a little weird that `sortedLinkEntries` is a private member, but only
used in `getLinkEntries` which just does an `addAll` and return. I think we
should probably get rid of this as a member.
otherwise we need to consider clearing the set. It also just seems like an
unnecessary memory overhead.
Issue Time Tracking
-------------------
Worklog Id: (was: 757524)
Time Spent: 40m (was: 0.5h)
> Support nested mount points in INodeTree
> ----------------------------------------
>
> Key: HADOOP-18193
> URL: https://issues.apache.org/jira/browse/HADOOP-18193
> Project: Hadoop Common
> Issue Type: Improvement
> Components: viewfs
> Affects Versions: 2.10.0
> Reporter: Lei Yang
> Priority: Major
> Labels: pull-request-available
> Time Spent: 40m
> Remaining Estimate: 0h
>
> Defining following client mount table config is not supported in INodeTree
> and will throw FileAlreadyExistsException
> fs.viewfs.mounttable.link./foo/bar=hdfs://nn1/foo/bar
> fs.viewfs.mounttable.link./foo=hdfs://nn02/foo
>
> INodeTree has 2 methods that need change to support nested mount points.
> createLink(..): build INodeTree during fs init.
> resolve(..): resolve path in INodeTree with viewfs apis.
>
> ViewFileSystem and ViewFs referes INodeTree.resolve(..) to resolve path to
> specific mount point. No changes are expected in both classes. However, we
> need to support existing use cases and make sure no regression are caused.
>
> AC:
> # INodeTree.createlink should support creating nested mount
> points.(INodeTree is constructed during fs init)
> # INodeTree.resolve should support resolve path based on nested mount
> points. (INodeTree.resolve is used in viewfs apis)
> # No regression in existing ViewFileSystem and ViewFs apis.
> # Ensure some important apis are not broken with nested mount points.
> (Rename, getContentSummary, listStatus...)
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]