Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
0.92.0
-
None
-
Reviewed
Description
Still after the fun I had over in HBASE-4729, I tried to finish altering my table (remove a family) since only half of it was changed so I did this:
hbase(main):002:0> alter 'TestTable', NAME => 'allo', METHOD => 'delete'
Updating all regions with the new schema...
244/244 regions updated.
Done.
0 row(s) in 1.2480 seconds
Nice it all looks good, but over in the master log:
org.apache.hadoop.hbase.InvalidFamilyOperationException: Family 'allo' does not exist so cannot be deleted
at org.apache.hadoop.hbase.master.handler.TableDeleteFamilyHandler.handleTableOperation(TableDeleteFamilyHandler.java:56)
at org.apache.hadoop.hbase.master.handler.TableEventHandler.process(TableEventHandler.java:86)
at org.apache.hadoop.hbase.master.HMaster.deleteColumn(HMaster.java:1011)
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.WritableRpcEngine$Server.call(WritableRpcEngine.java:348)
at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1242)
Maybe we should do checks before launching the async task.
Marking critical as this is a regression.