hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-16059) Region normalizer fails to trigger merge action where one of the regions is empty
Date Mon, 20 Jun 2016 13:41:05 GMT

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

Ted Yu commented on HBASE-16059:
--------------------------------

The current code doesn't adhere to the pre-split regions either.
Suppose adjacent regions R1 and R2 are result of pre-splitting. They receive some writes but
the sum of their sizes is lower than the     average region size. They would be merged according
to current logic.

To preserve pre-split regions, we need some other tracking mechanism.
I suggest adding such tracking in other JIRA(s).

> Region normalizer fails to trigger merge action where one of the regions is empty
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-16059
>                 URL: https://issues.apache.org/jira/browse/HBASE-16059
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: Romil Choksi
>            Assignee: Ted Yu
>              Labels: normalization
>             Fix For: 2.0.0
>
>         Attachments: 16059.v1.txt
>
>
> Region normalizer failed to trigger merge action where expected
> Steps to reproduce:
> - Pre-split the test table into 5 regions with keys 1,3,7,8
> - Insert some data for each of the split. 27K rows for regions starting with key 1, and
100K rows for each of the regions with start key 3,7 and 8
> - Scan the test table, and verify that these regions exists -  1) STARTKEY => ‘'
ENDKEY => ’1’  2)  STARTKEY => ’1’ ENDKEY => ’3’
> - Turn on normalization, verify normalization switch is enabled and that normalization
is true for test table
> - Run normalizer a few times
> - Scan test table again, verify that regions don’t exist anymore  1) STARTKEY =>
‘' ENDKEY => ’1’  2)  STARTKEY => ’1’ ENDKEY => ’3’, but instead a
new region is created with  STARTKEY => ’’ ENDKEY => ’3’
> The test now fails, with the last step failing at assertion. 
> Looking into the Master log, I see that normalization plan was computed for the test
table but it decides that no normalization is needed for the test table, and that the regions
look good.
> {code:title = Master.log}
> 2016-06-17 00:41:46,895 DEBUG [B.defaultRpcServer.handler=4,queue=1,port=20000] normalizer.SimpleRegionNormalizer:
Computing normalization plan for table: table_zrof6ea383, number of regions: 5
> 2016-06-17 00:41:46,895 DEBUG [B.defaultRpcServer.handler=4,queue=1,port=20000] normalizer.SimpleRegionNormalizer:
Table table_zrof6ea383, total aggregated regions size: 13
> 2016-06-17 00:41:46,896 DEBUG [B.defaultRpcServer.handler=4,queue=1,port=20000] normalizer.SimpleRegionNormalizer:
Table table_zrof6ea383, average region size: 2.6
> 2016-06-17 00:41:46,896 DEBUG [B.defaultRpcServer.handler=4,queue=1,port=20000] normalizer.SimpleRegionNormalizer:
No normalization needed, regions look good for table: table_zrof6ea383
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message