Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-15392

SqlClient throws exception 'Table already exists' when repeated submit a same query

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 1.10.0
    • 1.10.0
    • Table SQL / Client
    • None

    Description

      When I was testing tpcds quries with sqlClient, but it reported the following failure when one query was submitted repeatedly.

      [ERROR] Could not execute SQL statement. Reason:
      org.apache.flink.table.api.ValidationException: Table 'default: WITH customer_total_return AS
      ( SELECT
          sr_customer_sk AS ctr_customer_sk,
          sr_store_sk AS ctr_store_sk,
          sum(sr_return_amt) AS ctr_total_return
        FROM store_returns, date_dim
        WHERE sr_returned_date_sk = d_date_sk AND d_year = 2000
        GROUP BY sr_customer_sk, sr_store_sk)
      SELECT c_customer_id
      FROM customer_total_return ctr1, store, customer
      WHERE ctr1.ctr_total_return >
        (SELECT avg(ctr_total_return) * 1.2
        FROM customer_total_return ctr2
        WHERE ctr1.ctr_store_sk = ctr2.ctr_store_sk)
        AND s_store_sk = ctr1.ctr_store_sk
        AND s_state = 'TN'
        AND ctr1.ctr_customer_sk = c_customer_sk
      ORDER BY c_customer_id
      LIMIT 100' already exists. Please choose a different name.

      I checked the code, it seems that it will always create a new table and registerTableSink, and caused the failure.

      I think we can do some work here to fix it.

      Attachments

        Activity

          People

            Unassigned Unassigned
            liupengcheng liupengcheng
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: