You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by jo...@apache.org on 2019/07/18 22:17:11 UTC

[impala] branch master updated: IMPALA-8751: Skip failing Kudu - HMS integration tests with Hive 3

This is an automated email from the ASF dual-hosted git repository.

joemcdonnell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git


The following commit(s) were added to refs/heads/master by this push:
     new 245f237  IMPALA-8751: Skip failing Kudu - HMS integration tests with Hive 3
245f237 is described below

commit 245f2375e28ff7f5b0e89341d974341fa20444d1
Author: Csaba Ringhofer <cs...@cloudera.com>
AuthorDate: Fri Jul 12 20:28:12 2019 +0200

    IMPALA-8751: Skip failing Kudu - HMS integration tests with Hive 3
    
    These tests broke with the newer versions of CDP Hive, probably
    because it started to send gzipped notifications, which lead to
    errors like this in Kudu:
    Not implemented: unknown message format: gzip(json-2.0)
    
    The Kudu side fix does not seem trivial, so I am skipping these
    tests for now. Generally Kudu is not tested well with Hive 3 yet,
    so we cannot assume HMS notifications to work.
    
    Change-Id: Ic19b8d93eaa6e8ec886c5704578563fb0871f941
    Reviewed-on: http://gerrit.cloudera.org:8080/13854
    Reviewed-by: Gabor Kaszab <ga...@cloudera.com>
    Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
 tests/common/skip.py              | 2 ++
 tests/custom_cluster/test_kudu.py | 7 ++++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/tests/common/skip.py b/tests/common/skip.py
index 151f2c8..0547049 100644
--- a/tests/common/skip.py
+++ b/tests/common/skip.py
@@ -210,6 +210,8 @@ class SkipIfDockerizedCluster:
 class SkipIfHive3:
   sentry_not_supported = pytest.mark.skipif(HIVE_MAJOR_VERSION >= 3,
       reason="Sentry HMS follower does not work with HMS-3. See SENTRY-2518 for details")
+  kudu_hms_notifications_not_supported = pytest.mark.skipif(HIVE_MAJOR_VERSION >= 3,
+      reason="Kudu is not tested with Hive 3 notifications yet, see IMPALA-8751.")
 
 
 class SkipIfHive2:
diff --git a/tests/custom_cluster/test_kudu.py b/tests/custom_cluster/test_kudu.py
index 38ce51b..c4049ca 100644
--- a/tests/custom_cluster/test_kudu.py
+++ b/tests/custom_cluster/test_kudu.py
@@ -22,7 +22,7 @@ from kudu.schema import INT32
 
 from tests.common.custom_cluster_test_suite import CustomClusterTestSuite
 from tests.common.kudu_test_suite import KuduTestSuite
-from tests.common.skip import SkipIfKudu
+from tests.common.skip import SkipIfKudu, SkipIfHive3
 from tests.common.test_dimensions import add_exec_option_dimension
 
 KUDU_MASTER_HOSTS = pytest.config.option.kudu_master_hosts
@@ -194,6 +194,7 @@ class TestKuduHMSIntegration(CustomClusterTestSuite, KuduTestSuite):
         in table_desc
 
   @pytest.mark.execute_serially
+  @SkipIfHive3.kudu_hms_notifications_not_supported
   def test_drop_non_empty_db(self, unique_cursor, kudu_client):
     """Check that an attempt to drop a database will fail if Kudu tables are present
        and that the tables remain.
@@ -217,6 +218,7 @@ class TestKuduHMSIntegration(CustomClusterTestSuite, KuduTestSuite):
       assert not kudu_client.table_exists(kudu_table.name)
 
   @pytest.mark.execute_serially
+  @SkipIfHive3.kudu_hms_notifications_not_supported
   def test_drop_db_cascade(self, unique_cursor, kudu_client):
     """Check that an attempt to drop a database cascade will succeed even if Kudu
        tables are present. Make sure the corresponding managed tables are removed
@@ -239,6 +241,7 @@ class TestKuduHMSIntegration(CustomClusterTestSuite, KuduTestSuite):
       assert not kudu_client.table_exists(kudu_table.name)
 
   @pytest.mark.execute_serially
+  @SkipIfHive3.kudu_hms_notifications_not_supported
   def test_drop_managed_kudu_table(self, cursor, kudu_client, unique_database):
     """Check that dropping a managed Kudu table should fail if the underlying
        Kudu table has been dropped externally.
@@ -258,6 +261,7 @@ class TestKuduHMSIntegration(CustomClusterTestSuite, KuduTestSuite):
       assert "Table %s no longer exists in the Hive MetaStore." % kudu_tbl_name in str(e)
 
   @pytest.mark.execute_serially
+  @SkipIfHive3.kudu_hms_notifications_not_supported
   def test_drop_external_kudu_table(self, cursor, kudu_client, unique_database):
     """Check that Impala can recover from the case where the underlying Kudu table of
        an external table is dropped using the Kudu client.
@@ -287,5 +291,6 @@ class TestKuduHMSIntegration(CustomClusterTestSuite, KuduTestSuite):
       assert (external_table_name,) not in cursor.fetchall()
 
   @SkipIfKudu.no_hybrid_clock
+  @SkipIfHive3.kudu_hms_notifications_not_supported
   def test_kudu_alter_table(self, vector, unique_database):
     self.run_test_case('QueryTest/kudu_hms_alter', vector, use_db=unique_database)