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

Rushabh S Shah updated HDFS-12278:
----------------------------------
    Description: 
After HDFS-6757, LeaseManager #removeLease became expensive. 
HDFS-6757 changed the {{sortedLeases}} object from TreeSet to PriorityQueue. 
Previously the {{remove(Object)}} operation from {{sortedLeases}} was {{O(log 
n)}} but after the change it became {{O( n)}} since it has to find the object 
first. 
Recently we had an incident in one of our production cluster just hours after 
we upgraded from 2.7 to 2.8 
The {{sortledLeases}} object had approximately 100,000 items within it. 
While removing the lease, it will acquire the LeaseManager lock and that will 
slow down the lookup of lease also.  

HDFS-6757 is a good improvement which replaced the path by inode id.

  was:
After HDFS-6757, removeLease became expensive. 
HDFS-6757 changed the {{sortedLeases}} object from TreeSet to PriorityQueue. 
Previously the {{remove(Object)}} operation from {{sortedLeases}} was {{O(log 
n)}} but after the change it became {{O( n)}} since it has to find the object 
first. 
Recently we had an incident in one of our production cluster just hours after 
we upgraded from 2.7 to 2.8 
The {{sortledLeases}} object had approximately 100,000 items within it. 
While removing the lease, it will acquire the LeaseManager lock and that will 
slow down the lookup of lease also.  

HDFS-6757 is a good improvement which replaced the path by inode id.


> LeaseManager#removeLease operation is inefficient in 2.8.
> ---------------------------------------------------------
>
>                 Key: HDFS-12278
>                 URL: https://issues.apache.org/jira/browse/HDFS-12278
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>    Affects Versions: 2.8.0
>            Reporter: Rushabh S Shah
>            Assignee: Rushabh S Shah
>            Priority: Blocker
>
> After HDFS-6757, LeaseManager #removeLease became expensive. 
> HDFS-6757 changed the {{sortedLeases}} object from TreeSet to PriorityQueue. 
> Previously the {{remove(Object)}} operation from {{sortedLeases}} was {{O(log 
> n)}} but after the change it became {{O( n)}} since it has to find the object 
> first. 
> Recently we had an incident in one of our production cluster just hours after 
> we upgraded from 2.7 to 2.8 
> The {{sortledLeases}} object had approximately 100,000 items within it. 
> While removing the lease, it will acquire the LeaseManager lock and that will 
> slow down the lookup of lease also.  
> HDFS-6757 is a good improvement which replaced the path by inode id.



--
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

Reply via email to