[
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