You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by la...@apache.org on 2026/05/18 19:59:22 UTC

(impala) branch master updated: IMPALA-14843: (addendum) fixed broken test for Calcite planner

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

asf-gitbox-commits 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 d3f58a818 IMPALA-14843: (addendum) fixed broken test for Calcite planner
d3f58a818 is described below

commit d3f58a8180b3f3bd7f813de09b8d5d2001c7429e
Author: Steve Carlin <sc...@cloudera.com>
AuthorDate: Sat May 16 16:02:43 2026 -0700

    IMPALA-14843: (addendum) fixed broken test for Calcite planner
    
    The Calcite planner produces a different explain plan for the
    change in IMPALA-14843. The cancelled nodes are in a different
    part of the array.
    
    This can be tested by setting the "USE_CALCITE_PLANNER" environment
    variable to true, restarting the server, and running the
    test_observability test.
    
    Change-Id: I930a9a2f52dd727388c9e9eb70b6452f8343d4c8
    Reviewed-on: http://gerrit.cloudera.org:8080/24317
    Reviewed-by: Quanlong Huang <hu...@gmail.com>
    Tested-by: Impala Public Jenkins <im...@cloudera.com>
---
 tests/query_test/test_observability.py | 36 ++++++++++++++++++++++++++--------
 1 file changed, 28 insertions(+), 8 deletions(-)

diff --git a/tests/query_test/test_observability.py b/tests/query_test/test_observability.py
index 6fe956979..707426c4a 100644
--- a/tests/query_test/test_observability.py
+++ b/tests/query_test/test_observability.py
@@ -24,6 +24,7 @@ from time import sleep, time
 import pytest
 
 from impala_thrift_gen.RuntimeProfile.ttypes import TRuntimeProfileFormat
+from tests.common.environ import IS_CALCITE_PLANNER
 from tests.common.impala_cluster import ImpalaCluster
 from tests.common.impala_connection import IMPALA_CONNECTION_EXCEPTION
 from tests.common.impala_test_suite import ImpalaTestSuite
@@ -214,14 +215,33 @@ class TestObservability(ImpalaTestSuite):
     # 07:EXCHANGE                    6           4  HASH(a.l_orderkey)
     # F00:EXCHANGE SENDER
     # 00:SCAN HDFS                   6           4  tpch.lineitem a
-    assert result.exec_summary[11]['operator'] == '03:' + scan_op, result.runtime_profile
-    assert result.exec_summary[11]['detail'] == 'tpch.lineitem, CANCELLED', \
-        result.runtime_profile
-    assert result.exec_summary[12]['operator'] == '02:' + scan_op, result.runtime_profile
-    assert result.exec_summary[12]['detail'] == 'tpch.lineitem, CANCELLED', \
-        result.runtime_profile
-    assert result.exec_summary[15]['operator'] == '00:' + scan_op, result.runtime_profile
-    assert result.exec_summary[15]['detail'] == 'tpch.lineitem a', result.runtime_profile
+    if IS_CALCITE_PLANNER:
+      assert result.exec_summary[12]['operator'] == '03:' + scan_op, \
+          result.runtime_profile
+      assert result.exec_summary[12]['detail'] == 'tpch.lineitem, CANCELLED', \
+          result.runtime_profile
+      assert result.exec_summary[13]['operator'] == '02:' + scan_op, \
+          result.runtime_profile
+      assert result.exec_summary[13]['detail'] == 'tpch.lineitem, CANCELLED', \
+          result.runtime_profile
+      assert result.exec_summary[16]['operator'] == '00:' + scan_op, \
+          result.runtime_profile
+      # Calcite planner does not include the alias 'a' here.
+      assert result.exec_summary[16]['detail'] == 'tpch.lineitem', \
+          result.runtime_profile
+    else:
+      assert result.exec_summary[11]['operator'] == '03:' + scan_op, \
+          result.runtime_profile
+      assert result.exec_summary[11]['detail'] == 'tpch.lineitem, CANCELLED', \
+          result.runtime_profile
+      assert result.exec_summary[12]['operator'] == '02:' + scan_op, \
+          result.runtime_profile
+      assert result.exec_summary[12]['detail'] == 'tpch.lineitem, CANCELLED', \
+          result.runtime_profile
+      assert result.exec_summary[15]['operator'] == '00:' + scan_op, \
+          result.runtime_profile
+      assert result.exec_summary[15]['detail'] == 'tpch.lineitem a', \
+          result.runtime_profile
 
     # Test on other node types
     query = """