[jira] [Commented] (HADOOP-15571) After HADOOP-13440, multiple filesystems/file-contexts created with the same Configuration object are forced to have the same umask
[ https://issues.apache.org/jira/browse/HADOOP-15571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16532059#comment-16532059 ] Xiaoyu Yao commented on HADOOP-15571: - +1 for the latest patch. Thanks [~vinodkv] for reporting and fixing it. > After HADOOP-13440, multiple filesystems/file-contexts created with the same > Configuration object are forced to have the same umask > --- > > Key: HADOOP-15571 > URL: https://issues.apache.org/jira/browse/HADOOP-15571 > Project: Hadoop Common > Issue Type: Bug >Reporter: Vinod Kumar Vavilapalli >Assignee: Vinod Kumar Vavilapalli >Priority: Critical > Attachments: HADOOP-15571.1.txt, HADOOP-15571.txt > > > Ran into a super hard-to-debug issue due to this. [Edit: Turns out the same > issue as YARN-5749 that [~Tao Yang] ran into] > h4. Issue > Configuration conf = new Configuration(); > fc1 = FileContext.getFileContext(uri1, conf); > fc2 = FileContext.getFileContext(uri2, conf); > fc.setUMask(umask_for_fc1); // Screws up umask for fc2 also! > This was not the case before HADOOP-13440. > h4. Symptoms: > h5. Scenario I ran into > When trying to localize a HDFS directory (hdfs:///my/dir/1.txt), NodeManager > tries to replicate the directory structure on the local file-system > ($yarn-local-dirs/filecache/my/dir/1.txt). > Now depending on whether NM has ever done a log-aggregation (completely > unrelated code that sets umask to be 137 for its own files on HDFS), the > directories /my and /my/dir on local-fs may have different permissions. In > the specific case where NM did log-aggregation, /my/dir was created with 137 > umask and so localization of 1.txt completely failed due to absent directory > executable permissions! > h5. Previous scenarios: > We ran into this before in test-cases and instead of fixing the root-cause, > we just fixed the test-cases: YARN-5679 / YARN-5749 -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org
[jira] [Commented] (HADOOP-15571) After HADOOP-13440, multiple filesystems/file-contexts created with the same Configuration object are forced to have the same umask
[ https://issues.apache.org/jira/browse/HADOOP-15571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16532057#comment-16532057 ] genericqa commented on HADOOP-15571: | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 21s{color} | {color:blue} Docker mode activated. {color} | | {color:blue}0{color} | {color:blue} patch {color} | {color:blue} 0m 3s{color} | {color:blue} The patch file was not named according to hadoop's naming conventions. Please see https://wiki.apache.org/hadoop/HowToContribute for instructions. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 1 new or modified test files. {color} | || || || || {color:brown} trunk Compile Tests {color} || | {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 1m 42s{color} | {color:blue} Maven dependency ordering for branch {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 28m 58s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 30m 3s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 22s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 2m 3s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 13m 28s{color} | {color:green} branch has no errors when building and testing our client artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 58s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 42s{color} | {color:green} trunk passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 17s{color} | {color:blue} Maven dependency ordering for patch {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 24s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 30m 30s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 30m 30s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 23s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 2m 5s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 11m 40s{color} | {color:green} patch has no errors when building and testing our client artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 3m 31s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 52s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green} 10m 23s{color} | {color:green} hadoop-common in the patch passed. {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 3m 28s{color} | {color:green} hadoop-yarn-common in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 42s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}147m 24s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hadoop:abb62dd | | JIRA Issue | HADOOP-15571 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12930183/HADOOP-15571.1.txt | | Optional Tests | asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle | | uname | Linux 2135b58adbc2 3.13.0-137-generic #186-Ubuntu SMP Mon Dec 4 19:09:19 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /testptch/patchprocess/precommit/personality/provided.sh | | git revision | trunk / c0ef7e7 | |
[jira] [Commented] (HADOOP-15571) After HADOOP-13440, multiple filesystems/file-contexts created with the same Configuration object are forced to have the same umask
[ https://issues.apache.org/jira/browse/HADOOP-15571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16530232#comment-16530232 ] Xiaoyu Yao commented on HADOOP-15571: - {quote}That was my first approach too, but there are too many uses of FileContext (in YARN and potentially as well as in downstream projects) and forcing all of them to create a new Configuration object is not right. This creation of such a new Config object per URI was not needed in 2.x. {quote} [~vinodkv], that makes sense to me. +1 for adding a regression test for the fix. > After HADOOP-13440, multiple filesystems/file-contexts created with the same > Configuration object are forced to have the same umask > --- > > Key: HADOOP-15571 > URL: https://issues.apache.org/jira/browse/HADOOP-15571 > Project: Hadoop Common > Issue Type: Bug >Reporter: Vinod Kumar Vavilapalli >Assignee: Vinod Kumar Vavilapalli >Priority: Critical > Attachments: HADOOP-15571.txt > > > Ran into a super hard-to-debug issue due to this. [Edit: Turns out the same > issue as YARN-5749 that [~Tao Yang] ran into] > h4. Issue > Configuration conf = new Configuration(); > fc1 = FileContext.getFileContext(uri1, conf); > fc2 = FileContext.getFileContext(uri2, conf); > fc.setUMask(umask_for_fc1); // Screws up umask for fc2 also! > This was not the case before HADOOP-13440. > h4. Symptoms: > h5. Scenario I ran into > When trying to localize a HDFS directory (hdfs:///my/dir/1.txt), NodeManager > tries to replicate the directory structure on the local file-system > ($yarn-local-dirs/filecache/my/dir/1.txt). > Now depending on whether NM has ever done a log-aggregation (completely > unrelated code that sets umask to be 137 for its own files on HDFS), the > directories /my and /my/dir on local-fs may have different permissions. In > the specific case where NM did log-aggregation, /my/dir was created with 137 > umask and so localization of 1.txt completely failed due to absent directory > executable permissions! > h5. Previous scenarios: > We ran into this before in test-cases and instead of fixing the root-cause, > we just fixed the test-cases: YARN-5679 / YARN-5749 -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org
[jira] [Commented] (HADOOP-15571) After HADOOP-13440, multiple filesystems/file-contexts created with the same Configuration object are forced to have the same umask
[ https://issues.apache.org/jira/browse/HADOOP-15571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16529745#comment-16529745 ] Steve Loughran commented on HADOOP-15571: - LGTM; reinstates per-context mask. Needs a test before I give it any +1 though. I think you can appreciate why we need a regression test here, and would seem straightforward: create two contexts for the same URI, change the mask on one, assert the other is unchanged. > After HADOOP-13440, multiple filesystems/file-contexts created with the same > Configuration object are forced to have the same umask > --- > > Key: HADOOP-15571 > URL: https://issues.apache.org/jira/browse/HADOOP-15571 > Project: Hadoop Common > Issue Type: Bug >Reporter: Vinod Kumar Vavilapalli >Assignee: Vinod Kumar Vavilapalli >Priority: Critical > Attachments: HADOOP-15571.txt > > > Ran into a super hard-to-debug issue due to this. [Edit: Turns out the same > issue as YARN-5749 that [~Tao Yang] ran into] > h4. Issue > Configuration conf = new Configuration(); > fc1 = FileContext.getFileContext(uri1, conf); > fc2 = FileContext.getFileContext(uri2, conf); > fc.setUMask(umask_for_fc1); // Screws up umask for fc2 also! > This was not the case before HADOOP-13440. > h4. Symptoms: > h5. Scenario I ran into > When trying to localize a HDFS directory (hdfs:///my/dir/1.txt), NodeManager > tries to replicate the directory structure on the local file-system > ($yarn-local-dirs/filecache/my/dir/1.txt). > Now depending on whether NM has ever done a log-aggregation (completely > unrelated code that sets umask to be 137 for its own files on HDFS), the > directories /my and /my/dir on local-fs may have different permissions. In > the specific case where NM did log-aggregation, /my/dir was created with 137 > umask and so localization of 1.txt completely failed due to absent directory > executable permissions! > h5. Previous scenarios: > We ran into this before in test-cases and instead of fixing the root-cause, > we just fixed the test-cases: YARN-5679 / YARN-5749 -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org
[jira] [Commented] (HADOOP-15571) After HADOOP-13440, multiple filesystems/file-contexts created with the same Configuration object are forced to have the same umask
[ https://issues.apache.org/jira/browse/HADOOP-15571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16528162#comment-16528162 ] Xiaoyu Yao commented on HADOOP-15571: - Thanks [~vinodkv] for posting the patch, it looks good to me. Just have one question about the use case: FileContext assume to be a per process wide settings. If uri1 and uri2 are under different context, should they use different Configuration objects? This way, the existing logic will be able to handle it properly. > After HADOOP-13440, multiple filesystems/file-contexts created with the same > Configuration object are forced to have the same umask > --- > > Key: HADOOP-15571 > URL: https://issues.apache.org/jira/browse/HADOOP-15571 > Project: Hadoop Common > Issue Type: Bug >Reporter: Vinod Kumar Vavilapalli >Priority: Critical > Attachments: HADOOP-15571.txt > > > Ran into a super hard-to-debug issue due to this. [Edit: Turns out the same > issue as YARN-5749 that [~Tao Yang] ran into] > h4. Issue > Configuration conf = new Configuration(); > fc1 = FileContext.getFileContext(uri1, conf); > fc2 = FileContext.getFileContext(uri2, conf); > fc.setUMask(umask_for_fc1); // Screws up umask for fc2 also! > This was not the case before HADOOP-13440. > h4. Symptoms: > h5. Scenario I ran into > When trying to localize a HDFS directory (hdfs:///my/dir/1.txt), NodeManager > tries to replicate the directory structure on the local file-system > ($yarn-local-dirs/filecache/my/dir/1.txt). > Now depending on whether NM has ever done a log-aggregation (completely > unrelated code that sets umask to be 137 for its own files on HDFS), the > directories /my and /my/dir on local-fs may have different permissions. In > the specific case where NM did log-aggregation, /my/dir was created with 137 > umask and so localization of 1.txt completely failed due to absent directory > executable permissions! > h5. Previous scenarios: > We ran into this before in test-cases and instead of fixing the root-cause, > we just fixed the test-cases: YARN-5679 / YARN-5749 -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org
[jira] [Commented] (HADOOP-15571) After HADOOP-13440, multiple filesystems/file-contexts created with the same Configuration object are forced to have the same umask
[ https://issues.apache.org/jira/browse/HADOOP-15571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16527162#comment-16527162 ] genericqa commented on HADOOP-15571: | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 13s{color} | {color:blue} Docker mode activated. {color} | | {color:blue}0{color} | {color:blue} patch {color} | {color:blue} 0m 3s{color} | {color:blue} The patch file was not named according to hadoop's naming conventions. Please see https://wiki.apache.org/hadoop/HowToContribute for instructions. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s{color} | {color:red} The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color} | || || || || {color:brown} trunk Compile Tests {color} || | {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 1m 38s{color} | {color:blue} Maven dependency ordering for branch {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 25m 48s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 27m 28s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 23s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 1m 57s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 13m 31s{color} | {color:green} branch has no errors when building and testing our client artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 56s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 47s{color} | {color:green} trunk passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 17s{color} | {color:blue} Maven dependency ordering for patch {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 24s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 27m 59s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 27m 59s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 21s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 2m 0s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} shadedclient {color} | {color:green} 11m 18s{color} | {color:green} patch has no errors when building and testing our client artifacts. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 3m 11s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 47s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green} 8m 20s{color} | {color:green} hadoop-common in the patch passed. {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 3m 9s{color} | {color:green} hadoop-yarn-common in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 38s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}135m 39s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=17.05.0-ce Server=17.05.0-ce Image:yetus/hadoop:abb62dd | | JIRA Issue | HADOOP-15571 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12929656/HADOOP-15571.txt | | Optional Tests | asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle | | uname | Linux 96aa8182e1bd 3.13.0-139-generic #188-Ubuntu SMP Tue Jan 9 14:43:09 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux | | Build tool |
[jira] [Commented] (HADOOP-15571) After HADOOP-13440, multiple filesystems/file-contexts created with the same Configuration object are forced to have the same umask
[ https://issues.apache.org/jira/browse/HADOOP-15571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16526904#comment-16526904 ] Vinod Kumar Vavilapalli commented on HADOOP-15571: -- >From my limited understanding of all of this This is a regression from 2.x to 3.x. Essentially there were two ways to set umask in 2.x. # FileContext.setUMask(myUMask) // Previously per file-context # conf.set(fs.permissions.umask-mode, myUmask) // Global In 3.x, there is only one. Either (the configuration from a file) or (any-call by code anywhere in the same JVM for any file-context) will set umask for *all* file-systems. IMO and IIUC, we should support both - with the FileContext.setUMask() taking precedence if it was explicitly called. /cc [~ajisakaa], [~boky01], [~yufeigu], [~steve_l] for HADOOP-13440 & related patches. > After HADOOP-13440, multiple filesystems/file-contexts created with the same > Configuration object are forced to have the same umask > --- > > Key: HADOOP-15571 > URL: https://issues.apache.org/jira/browse/HADOOP-15571 > Project: Hadoop Common > Issue Type: Bug >Reporter: Vinod Kumar Vavilapalli >Priority: Critical > > Ran into a super hard-to-debug due to this. > h4. Issue > Configuration conf = new Configuration(); > fc1 = FileContext.getFileContext(uri1, conf); > fc2 = FileContext.getFileContext(uri2, conf); > fc.setUMask(umask_for_fc1); // Screws up umask for fc2 also! > This was not the case before HADOOP-13440. > h4. Symptoms: > h5. Scenario I ran into > When trying to localize a HDFS directory (hdfs:///my/dir/1.txt), NodeManager > tries to replicate the directory structure on the local file-system > ($yarn-local-dirs/filecache/my/dir/1.txt). > Now depending on whether NM has ever done a log-aggregation (completely > unrelated code that sets umask to be 137 for its own files on HDFS), the > directories /my and /my/dir on local-fs may have different permissions. In > the specific case where NM did log-aggregation, /my/dir was created with 137 > umask and so localization of 1.txt completely failed due to absent directory > executable permissions! > h5. Previous scenarios: > We ran into this before in test-cases and instead of fixing the root-cause, > we just fixed the test-cases: YARN-5679 / YARN-5749 -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org