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

Zhihong Yu commented on HBASE-5848:
-----------------------------------

I modified testCreateTableWithEmptyRowInTheSplitKeys using the above pattern 
and master didn't crash (with addendum):
{code}
Index: src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
===================================================================
--- src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java (revision 
1330037)
+++ src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java (working copy)
@@ -733,15 +733,13 @@
   @Test
   public void testCreateTableWithEmptyRowInTheSplitKeys() throws IOException{
     byte[] tableName = 
Bytes.toBytes("testCreateTableWithEmptyRowInTheSplitKeys");
-    byte[][] splitKeys = new byte[3][];
-    splitKeys[0] = "region1".getBytes();
-    splitKeys[1] = HConstants.EMPTY_BYTE_ARRAY;
-    splitKeys[2] = "region2".getBytes();
+    byte[][] splitKeys = new byte[2][];
+    splitKeys[0] = HConstants.EMPTY_BYTE_ARRAY;
+    splitKeys[1] = "region2".getBytes();
     HTableDescriptor desc = new HTableDescriptor(tableName);
     desc.addFamily(new HColumnDescriptor("col"));
     try {
       admin.createTable(desc, splitKeys);
-      fail("Test case should fail as empty split key is passed.");
     } catch (IllegalArgumentException e) {
     }
   }
{code}
                
> Create table with EMPTY_START_ROW passed as splitKey causes the HMaster to 
> abort
> --------------------------------------------------------------------------------
>
>                 Key: HBASE-5848
>                 URL: https://issues.apache.org/jira/browse/HBASE-5848
>             Project: HBase
>          Issue Type: Bug
>          Components: client
>            Reporter: Lars Hofhansl
>            Assignee: ramkrishna.s.vasudevan
>            Priority: Minor
>             Fix For: 0.94.0, 0.96.0
>
>         Attachments: 5848-addendum-v2.txt, 5848-addendum-v3.txt, 
> HBASE-5848.patch, HBASE-5848.patch, HBASE-5848_0.94.patch, 
> HBASE-5848_addendum.patch
>
>
> A coworker of mine just had this scenario. It does not make sense the 
> EMPTY_START_ROW as splitKey (since the region with the empty start key is 
> implicit), but it should not cause the HMaster to abort.
> The abort happens because it tries to bulk assign the same region twice and 
> then runs into race conditions with ZK.
> The same would (presumably) happen when two identical split keys are passed, 
> but the client blocks that. The simplest solution here is to also block 
> passed null or EMPTY_START_ROW as split key by the client.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to