We created a table with duplicate fields by mistake.  Now we are unable to
drop the table:


0: jdbc:phoenix:hiveapp1> drop table DEV_HET_MEF;
Error: org.apache.hadoop.hbase.DoNotRetryIOException: DEV_HET_MEF: 28
at
com.salesforce.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:83)
at
com.salesforce.phoenix.coprocessor.MetaDataEndpointImpl.dropTable(MetaDataEndpointImpl.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.hbase.regionserver.HRegion.exec(HRegion.java:5490)
at
org.apache.hadoop.hbase.regionserver.HRegionServer.execCoprocessor(HRegionServer.java:3720)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:320)
at
org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1428)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 28
at com.salesforce.phoenix.schema.PTableImpl.init(PTableImpl.java:213)
at com.salesforce.phoenix.schema.PTableImpl.<init>(PTableImpl.java:181)
at com.salesforce.phoenix.schema.PTableImpl.makePTable(PTableImpl.java:176)
at
com.salesforce.phoenix.coprocessor.MetaDataEndpointImpl.getTable(MetaDataEndpointImpl.java:381)
at
com.salesforce.phoenix.coprocessor.MetaDataEndpointImpl.buildTable(MetaDataEndpointImpl.java:215)
at
com.salesforce.phoenix.coprocessor.MetaDataEndpointImpl.doDropTable(MetaDataEndpointImpl.java:595)
at
com.salesforce.phoenix.coprocessor.MetaDataEndpointImpl.dropTable(MetaDataEndpointImpl.java:558)
... 12 more (state=08000,code=101)


So I go to hbase shell and drop the table there...

disable 'DEV_HET_MEF'

drop 'DEV_HET_MEF'


Finally, I scan 'SYSTEM.TABLE' and remove all rows corresponding to
'DEV_HET_MEF'.

Normally this works, and the table should be gone! But this time, the table
can't be recreated. What should I do? I tried restarting HBase, no effect.

Thanks!
-- 
Russell Jurney twitter.com/rjurney russell.jur...@gmail.com datasyndrome.com

Reply via email to