Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-5545

DropChildViews Task fails for a base table when its child view has an index

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.15.0, 5.1.0
    • Fix Version/s: 4.15.0, 5.1.0
    • Component/s: None
    • Labels:
      None

      Description

      1) Start the HBase server with 4.15.0 Phoenix
      2) Connect with a 4.15.0 client
      3) Create a base table and a view on top of the base table and create an index on top of this view:

      CREATE TABLE IF NOT EXISTS Z_BASE_TABLE (ID INTEGER NOT NULL PRIMARY KEY, HOST VARCHAR(10), FLAG BOOLEAN);
      
      CREATE VIEW Z_VIEW1 (col1 INTEGER, col2 INTEGER, col3 INTEGER, col4 INTEGER, col5 INTEGER) AS SELECT * FROM Z_BASE_TABLE WHERE ID>10;
      
      CREATE INDEX V_I ON Z_VIEW1(COL4);
      

      4) Drop the base table with the cascade option:

      DROP TABLE Z_BASE_TABLE CASCADE;
      

      5) DropChildViewsTask gets added to the SYSTEM.TASK table as expected, but when it gets scheduled and subsequently executed, it fails with the following exception:

      2019-10-24 22:44:34,214 ERROR [pool-121-thread-1] tasks.DropChildViewsTask: Exception while dropping a child view task. null.Z_BASE_TABLE with tenant id  IS NULL and timestamp 292278994-08-16 23:12:55.807
      org.apache.phoenix.exception.PhoenixIOException: Z_BASE_TABLE
      	at org.apache.phoenix.query.ConnectionQueryServicesImpl.flushTable(ConnectionQueryServicesImpl.java:4442)
      	at org.apache.phoenix.query.ConnectionQueryServicesImpl.flushParentPhysicalTable(ConnectionQueryServicesImpl.java:1922)
      	at org.apache.phoenix.query.ConnectionQueryServicesImpl.dropTable(ConnectionQueryServicesImpl.java:1888)
      	at org.apache.phoenix.schema.MetaDataClient.dropTable(MetaDataClient.java:3152)
      	at org.apache.phoenix.schema.MetaDataClient.dropTable(MetaDataClient.java:3060)
      	at org.apache.phoenix.util.ViewUtil.dropChildViews(ViewUtil.java:207)
      	at org.apache.phoenix.coprocessor.tasks.DropChildViewsTask.run(DropChildViewsTask.java:60)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.apache.phoenix.coprocessor.TaskRegionObserver$SelfHealingTask.run(TaskRegionObserver.java:204)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      	at java.lang.Thread.run(Thread.java:748)
      Caused by: org.apache.hadoop.hbase.TableNotFoundException: Z_BASE_TABLE
      	at org.apache.hadoop.hbase.client.HBaseAdmin.checkTableExists(HBaseAdmin.java:2863)
      	at org.apache.hadoop.hbase.client.HBaseAdmin.flush(HBaseAdmin.java:1904)
      	at org.apache.hadoop.hbase.client.HBaseAdmin.flush(HBaseAdmin.java:1949)
      	at org.apache.phoenix.query.ConnectionQueryServicesImpl.flushTable(ConnectionQueryServicesImpl.java:4440)
      	... 18 more
      

      Note that this marks the DropChildViews task for the base table as failed and so if the base table has any other views, those views will also not be dropped.

        Attachments

        1. PHOENIX-5545-4.x-HBase-1.3-v1.patch
          10 kB
          Chinmay Kulkarni
        2. PHOENIX-5545-4.x-HBase-1.3-v2.patch
          10 kB
          Chinmay Kulkarni
        3. PHOENIX-5545-4.x-HBase-1.3-v3.patch
          11 kB
          Chinmay Kulkarni
        4. PHOENIX-5545-4.x-HBase-1.3-v4.patch
          11 kB
          Chinmay Kulkarni
        5. PHOENIX-5545-4.x-HBase-1.3-v5.patch
          11 kB
          Chinmay Kulkarni

          Issue Links

            Activity

              People

              • Assignee:
                ckulkarni Chinmay Kulkarni
                Reporter:
                ckulkarni Chinmay Kulkarni
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h
                  1h