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

Disallow managed Kudu table to explicitly set Kudu tbl name in CREATE TABLE

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: Impala 2.8.0
    • Fix Version/s: Impala 2.12.0
    • Component/s: Frontend
    • Labels:

      Description

      There's no reason to allow this behavior. Managed tables create Kudu tables with the name (in Kudu) "impala::db_name.table_name". Renaming (in Impala) a managed Kudu table results in renaming the underlying Kudu table, e.g. rename table_name to new_table name results in changing the Kudu table to "impala::db_name.new_table_name". But allowing a new table to specify the kudu table name is inconsistent with the renaming behavior and just introduces opportunities for confusion.

        private void analyzeManagedKuduTableParams(Analyzer analyzer) throws AnalysisException {
          // If no Kudu table name is specified in tblproperties, generate one using the
          // current database as a prefix to avoid conflicts in Kudu.
          // TODO: Disallow setting this manually for managed tables
          if (!getTblProperties().containsKey(KuduTable.KEY_TABLE_NAME)) {
            getTblProperties().put(KuduTable.KEY_TABLE_NAME,
                KuduUtil.getDefaultCreateKuduTableName(getDb(), getTbl()));
          }
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                gaborkaszab Gabor Kaszab
                Reporter:
                mjacobs Matthew Jacobs
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: