You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Masatake Iwasaki (JIRA)" <ji...@apache.org> on 2014/04/22 09:29:16 UTC

[jira] [Commented] (HADOOP-7056) NN unintentionally reads mapred-site.xml

    [ https://issues.apache.org/jira/browse/HADOOP-7056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13976484#comment-13976484 ] 

Masatake Iwasaki commented on HADOOP-7056:
------------------------------------------

I saw this on the DataNode of recent trunk too. The cause was the same.
{code}
    [1] org.apache.hadoop.util.ReflectionUtils.setJobConf (ReflectionUtils.java:91)                                                                                                              
    [2] org.apache.hadoop.util.ReflectionUtils.setConf (ReflectionUtils.java:75)                                                                                                                 
    [3] org.apache.hadoop.util.ReflectionUtils.newInstance (ReflectionUtils.java:133)                                                                                                            
    [4] org.apache.hadoop.security.Groups.<init> (Groups.java:64)                                                                                                                                
    [5] org.apache.hadoop.security.Groups.getUserToGroupsMappingService (Groups.java:240)                                                                                                        
    [6] org.apache.hadoop.security.UserGroupInformation.initialize (UserGroupInformation.java:266)                                                                                               
    [7] org.apache.hadoop.security.UserGroupInformation.setConfiguration (UserGroupInformation.java:294)                                                                                         
    [8] org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode (DataNode.java:1,770)                                                                                                
    [9] org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode (DataNode.java:1,813)                                                                                                     
    [10] org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain (DataNode.java:1,990)                                                                                                        
    [11] org.apache.hadoop.hdfs.server.datanode.DataNode.main (DataNode.java:2,014)                                                                                                              
{code}

> NN unintentionally reads mapred-site.xml
> ----------------------------------------
>
>                 Key: HADOOP-7056
>                 URL: https://issues.apache.org/jira/browse/HADOOP-7056
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 0.22.0
>            Reporter: Aaron T. Myers
>            Priority: Critical
>
> It seems that {{mapred-site.xml}} is now unintentionally being read by the NN, and probably all the daemons.
> This is because the {{Groups}} constructor calls {{ReflectionUtils.newInstance(...)}}, which in turn calls {{ReflectionUtils.setConf(...)}}, which calls {{ReflectionUtils.setJobConf(...)}}, which creates an instance of {{o.a.h.mapred.JobConf}}, which calls {{o.a.h.mapreduce.util.ConfigUtil.loadResources(...)}}, which reads in {{mapred-site.xml}} and {{mapred-default.xml}}. Phew!
> I suspect the appropriate solution is for {{ReflectionUtils.setConf(...)}} to be changed to not call (the mapred-specific) {{ReflectionUtils.setJobConf(...)}}, but there's a comment in there which says it's being left in place for backward compatibility. Can somebody with more knowledge of that situation please comment?



--
This message was sent by Atlassian JIRA
(v6.2#6252)