Jiandan Yang created HDFS-12748: ------------------------------------ Summary: Standby NameNode memory leak when accessing webhdfs GETHOMEDIRECTORY Key: HDFS-12748 URL: https://issues.apache.org/jira/browse/HDFS-12748 Project: Hadoop HDFS Issue Type: Bug Components: hdfs Affects Versions: 2.8.2 Reporter: Jiandan Yang
In our production environment, the standby NN often do fullgc, through mat we found the largest object is FileSystem$Cache, which contains 7,844,890 DistributedFileSystem. By view hierarchy of method FileSystem.get() , I found only NamenodeWebHdfsMethods#get call FileSystem.get(). I don't know why creating different DistributedFileSystem every time instead of get a FileSystem from cache. {code:java} case GETHOMEDIRECTORY: { final String js = JsonUtil.toJsonString("Path", FileSystem.get(conf != null ? conf : new Configuration()) .getHomeDirectory().toUri().getPath()); return Response.ok(js).type(MediaType.APPLICATION_JSON).build(); } {code} When we close FileSystem when GETHOMEDIRECTORY, NN don't do fullgc. {code:java} case GETHOMEDIRECTORY: { FileSystem fs = null; try { fs = FileSystem.get(conf != null ? conf : new Configuration()); final String js = JsonUtil.toJsonString("Path", fs.getHomeDirectory().toUri().getPath()); return Response.ok(js).type(MediaType.APPLICATION_JSON).build(); } finally { if (fs != null) { fs.close(); } } } {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org