[ 
https://issues.apache.org/jira/browse/IMPALA-15273?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Surya Hebbar updated IMPALA-15273:
----------------------------------
    Issue Type: Bug  (was: New Feature)

> TestCalcitePlanner.test_cte_plans failing due to QueryTestResults mismatch
> --------------------------------------------------------------------------
>
>                 Key: IMPALA-15273
>                 URL: https://issues.apache.org/jira/browse/IMPALA-15273
>             Project: IMPALA
>          Issue Type: Bug
>            Reporter: Surya Hebbar
>            Assignee: Stephen Carlin
>            Priority: Major
>
> TestCalcitePlanner.test_cte_distributed also fails for similar reasons
> h3. Error Message
> {code}
> AssertionError: assert Comparing QueryTestResults (expected vs actual):
>   'Max Per-Host Resource Reservation: Memory=19.95MB Threads=2' == 'Max 
> Per-Host Resource Reservation: Memory=19.95MB Threads=2'
>   'Per-Host Resource Estimates: Memory=52MB' == 'Per-Host Resource Estimates: 
> Memory=52MB'
>   '' == ''
>   'PLAN-ROOT SINK' == 'PLAN-ROOT SINK'
>   '|' == '|'
>   '00:SEQUENCE' == '00:SEQUENCE'
>   '|  row-size=32B cardinality=5' == '|  row-size=32B cardinality=5'
>   '|' == '|'
>   '|--01:CTE PRODUCER [cte_suggestion_0]' == '|--01:CTE PRODUCER 
> [cte_suggestion_0]'
>   '|  |  row-size=23B cardinality=5' == '|  |  row-size=23B cardinality=5'
>   '|  |' == '|  |'
>   '|  02:SCAN HDFS [tpch.nation]' == '|  02:SCAN HDFS [tpch.nation]'
>   '|     HDFS partitions=1/1 files=1 size=2.15KB' == '|     HDFS 
> partitions=1/1 files=1 size=2.15KB'
>   '|     predicates: tpch.nation.n_regionkey = 0, tpch.nation.n_nationkey IS 
> NOT NULL' != '|     erasure coded: files=1 size=2.15KB'
>   '|     row-size=23B cardinality=5' != '|     predicates: 
> tpch.nation.n_regionkey = 0, tpch.nation.n_nationkey IS NOT NULL'
>   '|' != '|     row-size=23B cardinality=5'
>   '05:HASH JOIN [INNER JOIN]' != '|'
>   '|  hash predicates: add(n_nationkey, 1) = n_nationkey' != '05:HASH JOIN 
> [INNER JOIN]'
>   '|  row-size=32B cardinality=5' != '|  hash predicates: add(n_nationkey, 1) 
> = n_nationkey'
>   '|' != '|  row-size=32B cardinality=5'
>   '|--04:CTE CONSUMER [cte_suggestion_0]' != '|'
>   '|     row-size=23B cardinality=5' != '|--04:CTE CONSUMER 
> [cte_suggestion_0]'
>   '|' != '|     row-size=23B cardinality=5'
>   '03:CTE CONSUMER [cte_suggestion_0]' != '|'
>   '   row-size=23B cardinality=5' != '03:CTE CONSUMER [cte_suggestion_0]'
>   Number of rows returned (expected vs actual): 25 != 26
> {code}
> h3. Stacktrace
> {code}
> query_test/test_calcite_planner.py:54: in test_cte_plans
>     self.run_test_case('QueryTest/cte', vector, use_db=unique_database)
>         self       = <test_calcite_planner.TestCalcitePlanner object at 
> 0x7ff04fdc2c10>
>         unique_database = 'test_cte_plans_35444f28'
>         vector     = "table_format: parquet/none" | "protocol: hs2" | 
> "exec_option: {'abort_on_error': 1, 'batch_size': 0, 
> 'disable_codegen...eshold': 0, 'num_nodes': 1, 'test_replan': 1, 'planner': 
> 'CALCITE', 'fallback_planner': 'CALCITE', 'cte_threshold': 1}"
> common/impala_test_suite.py:1086: in run_test_case
>     self.__verify_results_and_errors(vector, test_section, 
> results_section_name,
>         _ImpalaTestSuite__exec_in_hive = <function 
> ImpalaTestSuite.run_test_case.<locals>.__exec_in_hive at 0x7ff04fbbc540>
>         _ImpalaTestSuite__exec_in_impala = <function 
> ImpalaTestSuite.run_test_case.<locals>.__exec_in_impala at 0x7ff04fbbc040>
>         _ImpalaTestSuite__exec_in_trino = <function 
> ImpalaTestSuite.run_test_case.<locals>.__exec_in_trino at 0x7ff04fbbc5e0>
>         catch_section_name = 'CATCH'
>         current_error = None
>         encoding   = None
>         exec_fn    = <function 
> ImpalaTestSuite.run_test_case.<locals>.__exec_in_impala at 0x7ff04fbbc040>
>         exec_options = {'abort_on_error': 1, 'batch_size': 0, 
> 'cte_threshold': 1, 'disable_codegen': False, ...}
>         failed_count = 0
>         impalad_client = <tests.common.impala_connection.ImpylaHS2Connection 
> object at 0x7ff04fd9bd90>
>         lineage_log_dir = ''
>         multiple_impalad = False
>         protocol   = 'hs2'
>         query      = 'EXPLAIN WITH v1 AS (SELECT n_name, n_nationkey FROM 
> tpch.nation WHERE n_regionkey = 0)\nSELECT v1.n_name, v1_next.n_name FROM v1, 
> v1 v1_next WHERE v1.n_nationkey + 1 = v1_next.n_nationkey'
>         query_section = 'EXPLAIN WITH v1 AS (SELECT n_name, n_nationkey FROM 
> tpch.nation WHERE n_regionkey = 0)\nSELECT v1.n_name, v1_next.n_name FROM v1, 
> v1 v1_next WHERE v1.n_nationkey + 1 = v1_next.n_nationkey;\n'
>         result     = <tests.common.impala_connection.ImpylaHS2ResultSet 
> object at 0x7ff04fb68590>
>         result_list = []
>         results_section_name = 'RESULTS'
>         sections   = [defaultdict(<class 'str'>, {'QUERY': 'EXPLAIN WITH v1 
> AS (SELECT n_name, n_nationkey FROM tpch.nation WHERE 
> n_regionk...Systems"\nCREATE TABLE item (i_current_price INT, i_color 
> STRING);\n', 'RESULTS': "'Table has been created.'\n"}), ...]
>         self       = <test_calcite_planner.TestCalcitePlanner object at 
> 0x7ff04fdc2c10>
>         table_format_info = <tests.common.test_dimensions.TableFormatInfo 
> object at 0x7ff052741010>
>         target_impalad_clients = 
> [<tests.common.impala_connection.ImpylaHS2Connection object at 
> 0x7ff04fd9bd90>]
>         test_file_name = 'QueryTest/cte'
>         test_file_vars = None
>         test_section = defaultdict(<class 'str'>, {'QUERY': 'EXPLAIN WITH v1 
> AS (SELECT n_name, n_nationkey FROM tpch.nation WHERE n_regionke...]'\n'|     
> row-size=23B cardinality=5'\n'|'\n'03:CTE CONSUMER [cte_suggestion_0]'\n'   
> row-size=23B cardinality=5'\n"})
>         total_count = 1
>         use_db     = 'test_cte_plans_35444f28'
>         user       = None
>         vector     = "table_format: parquet/none" | "protocol: hs2" | 
> "exec_option: {'abort_on_error': 1, 'batch_size': 0, 
> 'disable_codegen...eshold': 0, 'num_nodes': 1, 'test_replan': 1, 'planner': 
> 'CALCITE', 'fallback_planner': 'CALCITE', 'cte_threshold': 1}"
> common/impala_test_suite.py:852: in __verify_results_and_errors
>     verify_raw_results(test_section, result, vector,
>         replace_filenames_with_placeholder = True
>         result     = <tests.common.impala_connection.ImpylaHS2ResultSet 
> object at 0x7ff04fb68590>
>         result_section = 'RESULTS'
>         result_section_name = 'RESULTS'
>         section_name = 'ERRORS'
>         self       = <test_calcite_planner.TestCalcitePlanner object at 
> 0x7ff04fdc2c10>
>         test_section = defaultdict(<class 'str'>, {'QUERY': 'EXPLAIN WITH v1 
> AS (SELECT n_name, n_nationkey FROM tpch.nation WHERE n_regionke...]'\n'|     
> row-size=23B cardinality=5'\n'|'\n'03:CTE CONSUMER [cte_suggestion_0]'\n'   
> row-size=23B cardinality=5'\n"})
>         type_section = 'TYPES'
>         use_db     = 'test_cte_plans_35444f28'
>         vector     = "table_format: parquet/none" | "protocol: hs2" | 
> "exec_option: {'abort_on_error': 1, 'batch_size': 0, 
> 'disable_codegen...eshold': 0, 'num_nodes': 1, 'test_replan': 1, 'planner': 
> 'CALCITE', 'fallback_planner': 'CALCITE', 'cte_threshold': 1}"
> common/test_result_verifier.py:505: in verify_raw_results
>     VERIFIER_MAP[verifier](expected, actual)
>         actual     = <tests.common.test_result_verifier.QueryTestResult 
> object at 0x7ff04f822cd0>
>         actual_labels = ['EXPLAIN STRING']
>         actual_types = ['BIGINT']
>         exec_result = <tests.common.impala_connection.ImpylaHS2ResultSet 
> object at 0x7ff04fb68590>
>         expected   = <tests.common.test_result_verifier.QueryTestResult 
> object at 0x7ff04fb69b90>
>         expected_results = "'Max Per-Host Resource Reservation: 
> Memory=19.95MB Threads=2'\n'Per-Host Resource Estimates: 
> Memory=52MB'\n''\n'PLAN-..._0]'\n'|     row-size=23B 
> cardinality=5'\n'|'\n'03:CTE CONSUMER [cte_suggestion_0]'\n'   row-size=23B 
> cardinality=5'\n"
>         expected_results_list = ["'Max Per-Host Resource Reservation: 
> Memory=19.95MB Threads=2'", "'Per-Host Resource Estimates: Memory=52MB'", 
> "''", "'PLAN-ROOT SINK'", "'|'", "'00:SEQUENCE'", ...]
>         expected_types = ['BIGINT']
>         file_format = 'parquet'
>         is_raw_string = False
>         order_matters = True
>         protocol   = 'hs2'
>         replace_filenames = True
>         result_section = 'RESULTS'
>         test_section = defaultdict(<class 'str'>, {'QUERY': 'EXPLAIN WITH v1 
> AS (SELECT n_name, n_nationkey FROM tpch.nation WHERE n_regionke...]'\n'|     
> row-size=23B cardinality=5'\n'|'\n'03:CTE CONSUMER [cte_suggestion_0]'\n'   
> row-size=23B cardinality=5'\n"})
>         type_section = 'TYPES'
>         update_section = False
>         vector     = "table_format: parquet/none" | "protocol: hs2" | 
> "exec_option: {'abort_on_error': 1, 'batch_size': 0, 
> 'disable_codegen...eshold': 0, 'num_nodes': 1, 'test_replan': 1, 'planner': 
> 'CALCITE', 'fallback_planner': 'CALCITE', 'cte_threshold': 1}"
>         verifier   = 'VERIFY_IS_EQUAL'
> common/test_result_verifier.py:296: in verify_query_result_is_equal
>     assert expected_results == actual_results
> E   AssertionError: assert Comparing QueryTestResults (expected vs actual):
> E     'Max Per-Host Resource Reservation: Memory=19.95MB Threads=2' == 'Max 
> Per-Host Resource Reservation: Memory=19.95MB Threads=2'
> E     'Per-Host Resource Estimates: Memory=52MB' == 'Per-Host Resource 
> Estimates: Memory=52MB'
> E     '' == ''
> E     'PLAN-ROOT SINK' == 'PLAN-ROOT SINK'
> E     '|' == '|'
> E     '00:SEQUENCE' == '00:SEQUENCE'
> E     '|  row-size=32B cardinality=5' == '|  row-size=32B cardinality=5'
> E     '|' == '|'
> E     '|--01:CTE PRODUCER [cte_suggestion_0]' == '|--01:CTE PRODUCER 
> [cte_suggestion_0]'
> E     '|  |  row-size=23B cardinality=5' == '|  |  row-size=23B cardinality=5'
> E     '|  |' == '|  |'
> E     '|  02:SCAN HDFS [tpch.nation]' == '|  02:SCAN HDFS [tpch.nation]'
> E     '|     HDFS partitions=1/1 files=1 size=2.15KB' == '|     HDFS 
> partitions=1/1 files=1 size=2.15KB'
> E     '|     predicates: tpch.nation.n_regionkey = 0, tpch.nation.n_nationkey 
> IS NOT NULL' != '|     erasure coded: files=1 size=2.15KB'
> E     '|     row-size=23B cardinality=5' != '|     predicates: 
> tpch.nation.n_regionkey = 0, tpch.nation.n_nationkey IS NOT NULL'
> E     '|' != '|     row-size=23B cardinality=5'
> E     '05:HASH JOIN [INNER JOIN]' != '|'
> E     '|  hash predicates: add(n_nationkey, 1) = n_nationkey' != '05:HASH 
> JOIN [INNER JOIN]'
> E     '|  row-size=32B cardinality=5' != '|  hash predicates: 
> add(n_nationkey, 1) = n_nationkey'
> E     '|' != '|  row-size=32B cardinality=5'
> E     '|--04:CTE CONSUMER [cte_suggestion_0]' != '|'
> E     '|     row-size=23B cardinality=5' != '|--04:CTE CONSUMER 
> [cte_suggestion_0]'
> E     '|' != '|     row-size=23B cardinality=5'
> E     '03:CTE CONSUMER [cte_suggestion_0]' != '|'
> E     '   row-size=23B cardinality=5' != '03:CTE CONSUMER [cte_suggestion_0]'
> E     Number of rows returned (expected vs actual): 25 != 26
>         actual_results = <tests.common.test_result_verifier.QueryTestResult 
> object at 0x7ff04f822cd0>
>         expected_results = <tests.common.test_result_verifier.QueryTestResult 
> object at 0x7ff04fb69b90>
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to