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

sunhaitao commented on HADOOP-12707:
------------------------------------

My suggested solutionis for UserGroupInformation, the hashCode method should be
  public int hashCode() {
    return subject.hashCode();
  }
instead of 
  public int hashCode() {
    return System.identityHashCode(subject);
  }

> key of FileSystem inner class Cache contains UGI.hascode which uses the 
> defualt hascode method, leading to the memory leak
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-12707
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12707
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs
>    Affects Versions: 2.7.1
>            Reporter: sunhaitao
>            Assignee: sunhaitao
>
> FileSystem.get(conf) method,By default it will get the fs object from 
> CACHE,But the key of the CACHE  constains ugi.hashCode, which uses the 
> default hascode method of subject instead of the hascode method overwritten 
> by subject.
>    @Override
>       public int hashCode() {
>         return (scheme + authority).hashCode() + ugi.hashCode() + (int)unique;
>       }
> In this case, even if same user, if the calll FileSystem.get(conf) twice, two 
> different key will be created. In long duartion, this will lead to memory 
> leak.



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

Reply via email to