hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yongjun Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (HADOOP-11453) Invalid mapping can be inserted to nfs's id-name map
Date Tue, 30 Dec 2014 05:19:13 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-11453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Yongjun Zhang resolved HADOOP-11453.
------------------------------------
    Resolution: Invalid

> Invalid mapping can be inserted to nfs's id-name map
> ----------------------------------------------------
>
>                 Key: HADOOP-11453
>                 URL: https://issues.apache.org/jira/browse/HADOOP-11453
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: nfs
>            Reporter: Yongjun Zhang
>            Assignee: Yongjun Zhang
>
> See pasted code below from {{ShellBasedIdMapping#updateMapInternal}}, LineA could return
null value when the entry is not in the static mapping. Since {{map}} allows null key, so
it's possible that lineB would add entry <null, value> to the {{map}}. This is not the
desired behavior.
> {code}
>         final Integer key = staticMapping.get(parseId(nameId[1])); <====lineA
>         final String value = nameId[0];
>         if (map.containsKey(key)) {
>           final String prevValue = map.get(key);
>           if (value.equals(prevValue)) {
>             // silently ignore equivalent entries
>             continue;
>           }
>           reportDuplicateEntry(
>               "Got multiple names associated with the same id: ",
>               key, value, key, prevValue);           
>           continue;
>         }
>         if (map.containsValue(value)) {
>           final Integer prevKey = map.inverse().get(value);
>           reportDuplicateEntry(
>               "Got multiple ids associated with the same name: ",
>               key, value, prevKey, value);
>           continue;
>         }
>         map.put(key, value);  <==== lineB
> {code}



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

Mime
View raw message