HBaseAdmin.createTableAsync() should check for invalid split keys.
------------------------------------------------------------------

                 Key: HBASE-3905
                 URL: https://issues.apache.org/jira/browse/HBASE-3905
             Project: HBase
          Issue Type: Bug
         Environment: Considering this function is open to users, this function 
should validate the split key array. For example, I had tried creating a table 
with keys that had duplicate entries. The master (sometimes) crashed with a 
KeeperException.

2011-05-14 01:23:33,196 FATAL org.apache.hadoop.hbase.master.HMaster: 
Unexpected ZK exception creating/setting node OFFLINE 
org.apache.zookeeper.KeeperException$BadVersionException: KeeperErrorCode = 
BadVersion for /hbase/unassigned/39c3c2f26c777f9d2da8076d9b058c9b        
at org.apache.zookeeper.KeeperException.create(KeeperException.java:106)        
at org.apache.zookeeper.KeeperException.create(KeeperException.java:42)        
at org.apache.zookeeper.ZooKeeper.setData(ZooKeeper.java:1038)        
at org.apache.hadoop.hbase.zookeeper.ZKUtil.setData(ZKUtil.java:708)        
at 
org.apache.hadoop.hbase.zookeeper.ZKAssign.createOrForceNodeOffline(ZKAssign.java:248)
        
at 
org.apache.hadoop.hbase.master.AssignmentManager.setOfflineInZooKeeper(AssignmentManager.java:936)
        
at 
org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:887)
        
at 
org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:729)
        
at 
org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:709)
        
at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:805)        
at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:773)        
at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:740)        
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)       
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)   
      
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        
at java.lang.reflect.Method.invoke(Method.java:597)        
at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:570)        
at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1036)

2011-05-14 01:23:33,197 INFO org.apache.hadoop.hbase.master.HMaster: Aborting


And just before exiting:
2011-05-14 01:23:34,048 WARN org.apache.hadoop.ipc.HBaseServer: IPC Server 
Responder, call createTable({BLAH BLAH BLAH}, [[B@244e3ce5) from 
67.195.46.34:36335: output error
            Reporter: Vidhyashankar Venkataraman
            Priority: Minor




--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to