[ https://issues.apache.org/jira/browse/HDFS-8856?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14659261#comment-14659261 ]
Yi Liu edited comment on HDFS-8856 at 8/6/15 12:36 AM: ------------------------------------------------------- {quote} Looks risky, the lock ensures consistent state for each INodeFile. {quote} Arpit, sorry, I mean to put following in the {{try .. finally}} closure, ideally it will not throw exception in real case, but from the implementation, it contains and could cause dead lock. {code} numUCBlocks = leaseManager.getNumUnderConstructionBlocks(); {code} was (Author: hitliuyi): {quote} Looks risky, the lock ensures consistent state for each INodeFile. {quote} Arpit, sorry, I mean to put following in the {{try .. finally}} closure, ideally it will not throw exception in real case, but from the implementation, it contains. {code} numUCBlocks = leaseManager.getNumUnderConstructionBlocks(); {code} > Make LeaseManager#countPath O(1) > -------------------------------- > > Key: HDFS-8856 > URL: https://issues.apache.org/jira/browse/HDFS-8856 > Project: Hadoop HDFS > Issue Type: Bug > Components: namenode > Affects Versions: 2.7.2 > Reporter: Arpit Agarwal > Assignee: Arpit Agarwal > Attachments: HDFS-8856.01.patch, HDFS-8856.02.patch, > HDFS-8856.03.patch > > > {{LeaseManager#countPath}} loops over all existing lease holders to compute > the pending lease count. We can just track the pending leased files so it > runs in constant time. -- This message was sent by Atlassian JIRA (v6.3.4#6332)