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

Jean-Marc Spaggiari commented on HBASE-1212:
--------------------------------------------

Based on Ryan's comment on March 3rd 2011 I did some more testing.

Here is how I proceed:
Creation of a test table.
Truncate the test table if already there and not empty.
Insert 100000 records
hbck => ok.
Split into 256 regions using HTML interface
Balancer + major_compact
Try to merge all the regions 2 by 2 until only 1 region remaining or until 
error.
If no error, restart from split.  (Usually need to do it twice)

Now, at this stage, I have 2 regions with the same sequence ID that I'm not 
able to merge with the current un-patched HRegion code.

Displayed:starting merge of regions: 
testtable,?\xEC\x80C^\xB2Q\xE8,1354799289826.eb1b2213a6b09a9d989c39abe3d6d18b. 
and 
testtable,?\xEC\xF9\x88\xBE{Sb,1354799292172.2d81e98f11bdda12dbf06c11eefefb39. 
into new region {NAME => 
'testtable,?\xEC\x80C^\xB2Q\xE8,1354799434888.e4e403c2bf3b3b2561f26bfb70ef48d1.',
 STARTKEY => '?\xEC\x80C^\xB2Q\xE8', ENDKEY => '?\xEDw\xF5\x16\xC4\x81\xB7', 
ENCODED => e4e403c2bf3b3b2561f26bfb70ef48d1,} with start key 
<?\xEC\x80C^\xB2Q\xE8> and end key <?\xEDw\xF5\x16\xC4\x81\xB7>


Start-hbase, hbck => One issue on the newly created region (HBASE-7287 
e4e403c2bf3b3b2561f26bfb70ef48d)
rowcount => 12/12/06 08:15:14 INFO mapred.JobClient:     ROWS=100000

Apply HBASE-1212 patch, stop HBase and restart the merge.
Merge went well up to the end (all regions merged 2 by 2 until only 1 region 
remaining)
Start-hbase, hbck => One issue on the newly created region (HBASE-7287 
e4e403c2bf3b3b2561f26bfb70ef48d) Same as before, so no additionnal issue 
because of HBASE-1212.
rowcount => 12/12/06 08:21:54 INFO mapred.JobClient:     ROWS=100000


The issue created by the merge when not patched (HBASE-7287 or HBASE-1212) is 
just an empty directory created which can be manually removed.

If we apply HBASE-1212, then there is no more needs to apply HBASE-7287. If we 
want to make more tests for HBASE-1212 then it might be good to apply 
HBASE-7287 to avoid system inconsistencies.

Based on my tests I can confirm that we can remove the sequenceID check and the 
merge will still be working fine even if 2 files got the same sequenceID.
                
> merge tool expects regions all have different sequence ids
> ----------------------------------------------------------
>
>                 Key: HBASE-1212
>                 URL: https://issues.apache.org/jira/browse/HBASE-1212
>             Project: HBase
>          Issue Type: Bug
>            Reporter: stack
>         Attachments: failure.log, HBASE-1212.patch
>
>
> Currently merging two regions, the merge tool will compare their sequence 
> ids.  If same, it will decrement one.  It needs to do this because on region 
> open, files are keyed by their sequenceid; if two the same, one will erase 
> the other.
> Well, with the move to the aggregating hfile format, the sequenceid is 
> written when the file is created and its no longer written into an aside file 
> but as metadata on to the end of the file.  Changing the sequenceid is no 
> longer an option.
> This issue is about figuring a solution for the rare case where two store 
> files have same sequence id AND we want to merge the two regions.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to