[
https://issues.apache.org/jira/browse/HDFS-16382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17459421#comment-17459421
]
Ayush Saxena commented on HDFS-16382:
-------------------------------------
I am ok both ways, whichever way you feel would be better. :)
but just thinking about the mentioned case.
/A to ns0 /A
/A/B to ns0,ns1 /A/B
If I set say some EC/Storage policy on /A, then I do a write on /A/B, the
writes going to ns0 will be following that policy and the ones going on ns1
won't. Even for a getECPolicy and commands like that, for multi destinations,
we usually return the response from the first namespace. I am not sure, we
allowing this won't lead to some confusions at end user.
Say. I getPolicy on /A/B, it fetches from ns0. I do a write and the write goes
to ns1, the client does a getPolicy on the file and it doesn't follow the
policy.
Permissions/ACLs might also show some weird behaviours if we set them on /A,
the ns0 child will inherit and the ns1 child won't. So for some clients write
may be sometimes successful and sometimes fail. QuotaUsage might also have same
problem as getContentSummary.(I haven't tried though)
We know the code, we might understand the reason. But may be not that easy to
decode for someone who doesn't know how nested mounts and multi destination
mount entries get response.
Preventing such mount entries sounds better to me though, but that would be an
incompatible change and people might be having such deployments, one example
being this present jira.
> RBF: getContentSummary RPC compute sub-directory repeatedly
> -----------------------------------------------------------
>
> Key: HDFS-16382
> URL: https://issues.apache.org/jira/browse/HDFS-16382
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: rbf
> Affects Versions: 3.3.1
> Reporter: zhanghaobo
> Priority: Major
> Labels: pull-request-available
> Time Spent: 20m
> Remaining Estimate: 0h
>
> Router getContentSummary rpc compute sub-directory repeatedly when a
> direactory and its ancestor directory are both mounted in the form of
> original src path.
> For example, suppose we have mount table entries below:
> /A---ns1---/A
> /A/B—ns1,ns2—/A/B
> we put a file test.txt to directory /A/B in namepsace ns1, then execute `hdfs
> dfs -count hdfs://router:8888/A`, the result is wrong, because we compute
> /A/B/test.txt repeatedly
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]