[ 
https://issues.apache.org/jira/browse/PHOENIX-7449?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ritesh updated PHOENIX-7449:
----------------------------
    Description: 
During Phoenix Drop, if the table is already disabled, phoenix throws the 
exception TableNotEnabledException when trying to disable the 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)
 

  was:
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)
 


> 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.1.1, 5.2.0
>            Reporter: Ritesh
>            Priority: Minor
>
> During Phoenix Drop, if the table is already disabled, phoenix throws the 
> exception TableNotEnabledException when trying to disable the 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