[ https://issues.apache.org/jira/browse/HDFS-8855?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14950832#comment-14950832 ]
Xiaobing Zhou commented on HDFS-8855: ------------------------------------- There's patch 007 that uses UUID as cache key. {code} 345 public String buildCacheKey() { 346 return UUID.nameUUIDFromBytes( 347 Bytes.concat(kind.getBytes(), identifier, password)).toString(); 348 } {code} Instead, 006 needs address addition overflow that leads to more potential hash collision. {code} 341 public int buildCacheKey() { 342 return 343 (kind.hashCode() + 344 WritableComparator.hashBytes(identifier, identifier.length) + 345 WritableComparator.hashBytes(password, password.length)); 346 } {code} > Webhdfs client leaks active NameNode connections > ------------------------------------------------ > > Key: HDFS-8855 > URL: https://issues.apache.org/jira/browse/HDFS-8855 > Project: Hadoop HDFS > Issue Type: Bug > Components: webhdfs > Reporter: Bob Hansen > Assignee: Xiaobing Zhou > Attachments: HDFS-8855.005.patch, HDFS-8855.006.patch, > HDFS-8855.007.patch, HDFS-8855.1.patch, HDFS-8855.2.patch, HDFS-8855.3.patch, > HDFS-8855.4.patch, HDFS_8855.prototype.patch > > > The attached script simulates a process opening ~50 files via webhdfs and > performing random reads. Note that there are at most 50 concurrent reads, > and all webhdfs sessions are kept open. Each read is ~64k at a random > position. > The script periodically (once per second) shells into the NameNode and > produces a summary of the socket states. For my test cluster with 5 nodes, > it took ~30 seconds for the NameNode to have ~25000 active connections and > fails. > It appears that each request to the webhdfs client is opening a new > connection to the NameNode and keeping it open after the request is complete. > If the process continues to run, eventually (~30-60 seconds), all of the > open connections are closed and the NameNode recovers. > This smells like SoftReference reaping. Are we using SoftReferences in the > webhdfs client to cache NameNode connections but never re-using them? -- This message was sent by Atlassian JIRA (v6.3.4#6332)