You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Joe McDonnell (Jira)" <ji...@apache.org> on 2019/10/25 18:12:00 UTC
[jira] [Created] (IMPALA-9092) Fix "show create table" tests on
USE_CDP_HIVE=true to account for HIVE=22158
Joe McDonnell created IMPALA-9092:
-------------------------------------
Summary: Fix "show create table" tests on USE_CDP_HIVE=true to account for HIVE=22158
Key: IMPALA-9092
URL: https://issues.apache.org/jira/browse/IMPALA-9092
Project: IMPALA
Issue Type: Bug
Components: Frontend
Affects Versions: Impala 3.4.0
Reporter: Joe McDonnell
Hive changed behavior with HIVE-22158 so that only transactional tables are considered managed and all other are considered external. This means that a regular "create table" will result in an external table with table properties of 'TRANSLATED_TO_EXTERNAL'='TRUE', 'external.table.purge'='TRUE'. This breaks our tests that rely on "show create table", because the table is newly external and has extra table properties. For example:
{noformat}
query_test/test_kudu.py:842: in test_primary_key_and_distribution
db=cursor.conn.db_name, kudu_addr=KUDU_MASTER_HOSTS))
query_test/test_kudu.py:824: in assert_show_create_equals
assert cursor.fetchall()[0][0] == \
E assert "CREATE EXTER...='localhost')" == "CREATE TABLE ...='localhost')"
E - CREATE EXTERNAL TABLE testshowcreatetable_15312_ggn1hk.nvbpxfuxze
E ? ---------
E + CREATE TABLE testshowcreatetable_15312_ggn1hk.nvbpxfuxze (
E ? ++
E + c INT NOT NULL ENCODING AUTO_ENCODING COMPRESSION DEFAULT_COMPRESSION,
E + PRIMARY KEY (c)
E + )
E + PARTITION BY HASH (c) PARTITIONS 3
E STORED AS KUDU
E - TBLPROPERTIES ('TRANSLATED_TO_EXTERNAL'='TRUE', 'external.table.purge'='TRUE', 'kudu.master_addresses'='localhost')
E + TBLPROPERTIES ('kudu.master_addresses'='localhost'){noformat}
We need to decide on the right behavior for "show create table" and update the tests.
For Kudu tables, tables with TRANSLATED_TO_EXTERNAL=true and external.table.purge=TRUE should be equivalent to a non-external Kudu table, and we can just detect this case and generate the same SQL as before.
Other cases may need new logic. I think it makes sense to also address other tests due to MANAGED vs EXTERNAL distinction or extra table properties with this JIRA. Here is a list of tests that seem to have this problem:
{noformat}
metadata/test_ddl.py TestDdlStatements.test_create_alter_tbl_properties
metadata/test_show_create_table.py *
query_test/test_kudu.py TestShowCreateTable*
org.apache.impala.catalog.CatalogTest.testCreateTableMetadata
org.apache.impala.catalog.local.LocalCatalogTest.testKuduTable{noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)