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

Local catalog cache treats db and table names as case-sensitive

    XMLWordPrintableJSON

Details

    • ghx-label-7

    Description

      Start up Impala with local catalog enabled.

      start-impala-cluster.py --catalogd_args="--catalog_topic_mode=minimal" --impalad_args="--use_local_catalog=true"
      

      Then create a database 'db1' and a table and run the sequence of DROP, CREATE table with an upper-case database name (using upper-case is important for the repro)..this throws an AnalysisException:

        create database db1;
        use db1;
        create table ddl_test1 (val string);
      
      Run the DROP / CREATE using upper-case database name DB1:
      $ impala-shell -q "drop table if exists DB1.ddl_test1 purge; create table DB1.ddl_test1 (val string);"
      
      Server version: impalad version 3.4.0-SNAPSHOT DEBUG (build 76061331781e67b90d7750abadfaf8b013dc64a5)
      Query: drop table if exists DB1.ddl_test1 purge
      +-------------------------+
      | summary                 |
      +-------------------------+
      | Table has been dropped. |
      +-------------------------+
      Fetched 1 row(s) in 0.68s
      Query: create table DB1.ddl_test1 (val string)
      ERROR: AnalysisException: Table already exists: DB1.ddl_test1
      
      Could not execute command: create table DB1.ddl_test1 (val string)
      

      NOTE: The above sequence may have to be run a few times. Also using either lower-case name 'db1' instead of 'DB1' or running with the remote catalog does not reproduce the problem.

      Attachments

        Activity

          People

            amansinha Aman Sinha
            amansinha Aman Sinha
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: