You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Tianyin Xu (JIRA)" <ji...@apache.org> on 2016/05/17 03:39:12 UTC

[jira] [Created] (HDFS-10417) Actionable logs

Tianyin Xu created HDFS-10417:
---------------------------------

             Summary: Actionable logs 
                 Key: HDFS-10417
                 URL: https://issues.apache.org/jira/browse/HDFS-10417
             Project: Hadoop HDFS
          Issue Type: Improvement
          Components: datanode
    Affects Versions: 2.7.2
            Reporter: Tianyin Xu
            Priority: Minor


The exception msg thrown by {{checkBlockLocalPathAccess}} is very specific to the implementation detail. It's really hard for users to understand it unless she reads and understands the code. 

The code is shown as follows:
{code:title=org.apache.hadoop.hdfs.server.datanode.DataNode|borderStyle=solid}
  private void checkBlockLocalPathAccess() throws IOException {
    checkKerberosAuthMethod("getBlockLocalPathInfo()");
    String currentUser = UserGroupInformation.getCurrentUser().getShortUserName();
    if (!usersWithLocalPathAccess.contains(currentUser)) {
      throw new AccessControlException(
          "Can't continue with getBlockLocalPathInfo() "
              + "authorization. The user " + currentUser
              + " is not allowed to call getBlockLocalPathInfo");
    }    
  }
{code}
(basically she needs to understand the code logic of getBlockLocalPathInfo)

\\

Note that {{usersWithLocalPathAccess}} is a *private final* purely coming from the configuration settings of {{dfs.block.local-path-access.user}},
{code:title=org.apache.hadoop.hdfs.server.datanode.DataNode|borderStyle=solid}
private final List<String> usersWithLocalPathAccess;
....
this.usersWithLocalPathAccess = Arrays.asList(
    conf.getTrimmedStrings(DFSConfigKeys.DFS_BLOCK_LOCAL_PATH_ACCESS_USER_KEY));
{code}

In other word, the checking fails simply because the current user is not specified in the configuration setting of {{dfs.block.local-path-access.user}}. The log message should be much more clearer to make it easy for users to take actions, as demonstrated in the attached patch. 

Thanks!



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org