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

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

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    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

        There are no Sub-Tasks for this issue.

          Activity

            People

            • Assignee:
              gaborkaszab Gabor Kaszab
              Reporter:
              mjacobs Matthew Jacobs

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment