Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-4386

RPC timeout for create Kudu table leaves Impala metadata in an inconsistent state

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • Kudu_Impala
    • None
    • Frontend
    • None

    Description

      On a busy cluster Kudu RPC can timeout, this is ok for read operations but not for DDL.

      Create table DDL

      create TABLE lineitem_200m_kudu_144 (
         l_shipdate STRING,
         l_orderkey BIGINT,
         l_linenumber BIGINT,
         l_partkey BIGINT,
         l_suppkey BIGINT,
         l_quantity DOUBLE,
         l_extendedprice DOUBLE,
         l_discount DOUBLE,
         l_tax DOUBLE,
         l_returnflag STRING,
         l_linestatus STRING,
         l_commitdate STRING,
         l_receiptdate STRING,
         l_shipinstruct STRING,
         l_shipmode STRING,
         l_comment STRING,primary key(l_shipdate,l_orderkey,l_linenumber)
       )
      DISTRIBUTE BY HASH (l_orderkey,l_linenumber) INTO 144 BUCKETS  stored as kudu
       TBLPROPERTIES ('kudu.master_addresses'='vd0342.halxg.cloudera.com', 'kudu.num_tablet_replicas'='3')
      

      RPC timed out

      ERROR:
      ImpalaRuntimeException: Error creating table 'impala::single_node_insert.lineitem_200m_kudu_144'
      CAUSED BY: NonRecoverableException: RPC can not complete before timeout: KuduRpc(method=IsCreateTableDone, tablet=null, attempt=25, DeadlineTracker(timeout=30000, elapsed=28902))
      

      Running "Show tables" in Impala, note that lineitem_200m_kudu_144 doesn't exists

      show tables;
      
      name
      lineitem_200m_kudu_18
      lineitem_200m_kudu_18_r3
      lineitem_200m_kudu_18_us
      lineitem_200m_kudu_288
      lineitem_200m_kudu_36
      lineitem_200m_kudu_72
      lineitem_200m_kudu_9
      lineitem_200m_kudu_9_2
      lineitem_200m_kudu_9_r3
      lineitem_200m_kudu_9_test
      lineitem_200m_parquet
      lineitem_200m_parquet_9_part
      lineitem_200m_unpart
      lineitem_200m_unpart_text
      lineitem_kudu_288_cons
      lineitem_kudu_9
      lineitem_sorted_100m
      lineitem_sorted_10m
      lineitem_sorted_200m
      lineitem_sorted_200m_unpart
      lineitem_unsorted_100m
      lineitem_unsorted_10m
      lineitem_unsorted_200m
      load_test_3
      shipdates

      Running the DDL again fails with Kudu table already exists

      Query: create TABLE lineitem_200m_kudu_144 (
         l_shipdate STRING,
         l_orderkey BIGINT,
         l_linenumber BIGINT,
         l_partkey BIGINT,
         l_suppkey BIGINT,
         l_quantity DOUBLE,
         l_extendedprice DOUBLE,
         l_discount DOUBLE,
         l_tax DOUBLE,
         l_returnflag STRING,
         l_linestatus STRING,
         l_commitdate STRING,
         l_receiptdate STRING,
         l_shipinstruct STRING,
         l_shipmode STRING,
         l_comment STRING,primary key(l_shipdate,l_orderkey,l_linenumber)
       )
      DISTRIBUTE BY HASH (l_orderkey,l_linenumber) INTO 144 BUCKETS  stored as kudu
       TBLPROPERTIES ('kudu.master_addresses'='vd0342.halxg.cloudera.com', 'kudu.num_tablet_replicas'='3')
      

      Error

      ERROR:
      ImpalaRuntimeException: Error creating table 'impala::single_node_insert.lineitem_200m_kudu_144'
      CAUSED BY: ImpalaRuntimeException: Table 'impala::single_node_insert.lineitem_200m_kudu_144' already exists in Kudu.
      

      Querying Kudu tables via API shows that the Kudu table exists

      Table ID
      impala::single_node_insert.lineitem_200m_kudu_9 8d089b8813ce4477a62271451c92f587
      impala::single_node_insert.lineitem_200m_kudu_288 cbcc872cff4a4aedbd6d693e7ad5a62d
      impala::single_node_insert.lineitem_200m_kudu_9_test acb7b30ff75b4c0dba3ecbe28341169d
      impala::single_node_insert.lineitem_200m_kudu_144 9549e843e5e346dabf9ab19acc2e9851

      Attachments

        Activity

          People

            Unassigned Unassigned
            mmokhtar Mostafa Mokhtar
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: