Description
NPE is thrown when rollback the failures of table creation.
1. Table is being created, get issues when creating fs layout.
2. Rollback this creation and trying to delete the data from fs. It tries to delete the mob dir and needs to ask HMaster about the HTableDescriptor, and at that time the table dir had been deleted and no HTableDescriptor can be found.
The exception looks like:
java.lang.NullPointerException at org.apache.hadoop.hbase.mob.MobUtils.hasMobColumns(MobUtils.java:851) at org.apache.hadoop.hbase.master.procedure.DeleteTableProcedure.deleteFromFs(DeleteTableProcedure.java:350) at org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.rollbackState(CreateTableProcedure.java:167) at org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.rollbackState(CreateTableProcedure.java:57) at org.apache.hadoop.hbase.procedure2.StateMachineProcedure.rollback(StateMachineProcedure.java:134) at org.apache.hadoop.hbase.procedure2.Procedure.doRollback(Procedure.java:467) at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.executeRollback(ProcedureExecut
In this patch, it directly checks if the mob directory is existing instead of checking the HTableDescriptor.