You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Enis Soztutar (JIRA)" <ji...@apache.org> on 2013/03/20 00:13:17 UTC

[jira] [Comment Edited] (HBASE-7546) Obtain a table read lock on region split operations

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

Enis Soztutar edited comment on HBASE-7546 at 3/19/13 11:12 PM:
----------------------------------------------------------------

Attaching a rebased patch. I wanted to test this one more time to make sure, which was why I did not commit it for some time. 

Quoting from the updated design doc attached at HBASE-7305: 

Unit tests
TestZKInterProcessReadWriteLock
Tests the pure zk lock implementation. 
TestTableLockManager
public void testAlterAndDisable() throws Exception {
    // Send a request to alter a table, then sleep during
    // the alteration phase. In the mean time, from another
    // thread, send a request to disable, and then delete a table.
}
 public void testTableReadLock() throws Exception {
   // test plan: write some data to the table. Continuously alter the table and
   // force splits
   // concurrently until we have 10 regions. verify the data just in case.
   // Every region should contain the same table descriptor
   // This is not an exact test
}
Sytem tests

Manual tests in 4 node cluster with 10MB flush and split size, and altering table constantly. #regions started with 20 and ended with ~160. The load is created with LoadTestTool.

On 5 node cluster, with 100MB flush size and split size, I tested the patch for HBASE-7305 and HBASE-7546 with IntegrationTestBigLinkedList and ChaosMonkey. A total of 125M rows was inserted and verified without any problems. The number of regions went from 1 to several hundred. I also did 1 or 2 alter tables manually. 

I think Stack already +1'd v3 (this is just a rebase). I will commit if hadoopqa passes, and no objections of course. 

                
      was (Author: enis):
    Attaching a rebased patch. I wanted to test this one more time to make sure, which was why I did not commit it for some time. 

Quoting from the updated design doc attached at HBASE-7403: 

Unit tests
TestZKInterProcessReadWriteLock
Tests the pure zk lock implementation. 
TestTableLockManager
public void testAlterAndDisable() throws Exception {
    // Send a request to alter a table, then sleep during
    // the alteration phase. In the mean time, from another
    // thread, send a request to disable, and then delete a table.
}
 public void testTableReadLock() throws Exception {
   // test plan: write some data to the table. Continuously alter the table and
   // force splits
   // concurrently until we have 10 regions. verify the data just in case.
   // Every region should contain the same table descriptor
   // This is not an exact test
}
Sytem tests

Manual tests in 4 node cluster with 10MB flush and split size, and altering table constantly. #regions started with 20 and ended with ~160. The load is created with LoadTestTool.

On 5 node cluster, with 100MB flush size and split size, I tested the patch for HBASE-7403 and HBASE-7546 with IntegrationTestBigLinkedList and ChaosMonkey. A total of 125M rows was inserted and verified without any problems. The number of regions went from 1 to several hundred. I also did 1 or 2 alter tables manually. 

I think Stack already +1'd v3 (this is just a rebase). I will commit if hadoopqa passes, and no objections of course. 

                  
> Obtain a table read lock on region split operations
> ---------------------------------------------------
>
>                 Key: HBASE-7546
>                 URL: https://issues.apache.org/jira/browse/HBASE-7546
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: 0.95.0
>
>         Attachments: hbase-7546_v1.patch, hbase-7546_v2.patch, hbase-7546_v3.patch, hbase-7546_v5.patch
>
>
> As discussed in the parent issue HBASE-7305, we should be coordinating between splits and table operations to ensure that they don't happen at the same time. In this issue we will acquire shared read locks for region splits. 

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