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)

Reply via email to