hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (HBASE-2663) LRU cache makes needless datastructure copies during eviction
Date Tue, 20 May 2014 00:19:38 GMT

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

stack resolved HBASE-2663.

    Resolution: Duplicate

A later issue that describes the same issue 'fixes' this: HBASE-4752  Resolving.

> LRU cache makes needless datastructure copies during eviction
> -------------------------------------------------------------
>                 Key: HBASE-2663
>                 URL: https://issues.apache.org/jira/browse/HBASE-2663
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>            Reporter: Todd Lipcon
> Was browsing the LRU eviction code and came upon some very inefficient code. When we
do eviction, BlockBucket.free() calls queue.get() which first inserts everything from the
PriorityQueue<Block> into a LinkedList, then copies that entire linked list into an
array. We then iterate over usually just a small percentage of the array to free some blocks
until we have freed the requested amount.
> We ought to be able to just pull items out of the PriorityQueue directly and avoid all
the churn.

This message was sent by Atlassian JIRA

View raw message