[ 
https://issues.apache.org/jira/browse/HBASE-20196?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16403942#comment-16403942
 ] 

Anoop Sam John commented on HBASE-20196:
----------------------------------------

+1

> Maintain all regions with same size in memstore flusher
> -------------------------------------------------------
>
>                 Key: HBASE-20196
>                 URL: https://issues.apache.org/jira/browse/HBASE-20196
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>            Priority: Major
>         Attachments: 20196.v1.txt, 20196.v2.txt
>
>
> Here is the javadoc for getCopyOfOnlineRegionsSortedByOffHeapSize() :
> {code}
>    *   the biggest.  If two regions are the same size, then the last one 
> found wins; i.e. this
>    *   method may NOT return all regions.
> {code}
> Currently value type is HRegion - we only store one region per size.
> I think we should change value type to Collection<HRegion> so that we don't 
> miss any region (potentially with big size).
> e.g. Suppose there are there regions (R1, R2 and R3) with sizes 100, 100 and 
> 1, respectively.
> Using the current data structure, R2 would be stored in the Map, evicting R1 
> from the Map.
> This means that the current code would choose to flush regions R2 and R3, 
> releasing 101 from memory.
> If value type is changed to Collection<HRegion>, we would flush both R1 and 
> R2. This achieves faster memory reclamation.
> Confirmed with [~eshcar] over in HBASE-20090



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to