Ritesh created PHOENIX-7449:
-------------------------------
Summary: Bypass disable table during drop if table is already
disabled in HBase
Key: PHOENIX-7449
URL: https://issues.apache.org/jira/browse/PHOENIX-7449
Project: Phoenix
Issue Type: Improvement
Components: core
Affects Versions: 5.2.0, 5.1.1
Reporter: Ritesh
During Phoenix Drop, if the table is already disabled, phoenix throws the
exception TableNotEnabledException when trying to disable the table.
Checking if the table is not enabled before calling disable table
# Create a table using Phoenix sqlline
# Disable from hbase shell
# Try to run {{drop table "table_name" cascade;}} from sqlline.
# Got below exception
0: jdbc:phoenix:zookeeper-0.zookeeper-headles> SELECT * from SYSTEM.CATALOG
where TABLE_NAME='TEST_RG_1';
+------------------------------------------+------------------------------------------+------------------------------------------+-------------------------------+
| TENANT_ID | TABLE_SCHEM | TABLE_NAME
| COLUMN_NAME |
+------------------------------------------+------------------------------------------+------------------------------------------+-------------------------------+
| | | TEST_RG_1 |
|
| | | TEST_RG_1 |
EVENTID |
| | | TEST_RG_1 |
LATITUDE |
| | | TEST_RG_1 |
LOCATION |
| | | TEST_RG_1 |
LONGITUDE |
| | | TEST_RG_1 |
ORGANIZATION_ID |
| | | TEST_RG_1 |
SPEED |
| | | TEST_RG_1 |
TRUCK_EVENT_ID |
| | | TEST_RG_1 |
TSTAMP |
| | | TEST_RG_1 |
VEHICLEID |
+------------------------------------------+------------------------------------------+------------------------------------------+-------------------------------+
0: jdbc:phoenix:zookeeper-0.zookeeper-headles> DROP TABLE TEST_RG_1 CASCADE;
2024-10-13 23:54:37,025 INFO [main] client.HBaseAdmin - Started disable of
TEST_RG_1
Error: org.apache.hadoop.hbase.TableNotEnabledException: TEST_RG_1
at
org.apache.hadoop.hbase.master.procedure.AbstractStateMachineTableProcedure.preflightChecks(AbstractStateMachineTableProcedure.java:163)
at
org.apache.hadoop.hbase.master.procedure.DisableTableProcedure.<init>(DisableTableProcedure.java:78)
at org.apache.hadoop.hbase.master.HMaster$12.run(HMaster.java:2700)
at
org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.submitProcedure(MasterProcedureUtil.java:132)
at
org.apache.hadoop.hbase.master.HMaster.disableTable(HMaster.java:2684)
at
org.apache.hadoop.hbase.master.MasterRpcServices.disableTable(MasterRpcServices.java:784)
at
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:415)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:124)
at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:102)
at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:82)
(state=08000,code=101)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)