[
https://issues.apache.org/jira/browse/IMPALA-15273?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18108965#comment-18108965
]
ASF subversion and git services commented on IMPALA-15273:
----------------------------------------------------------
Commit b17a3b318d8b979299c540431c0b541c392813fa in impala's branch
refs/heads/master from Michael Smith
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=b17a3b318 ]
IMPALA-15273: Allow EC in plan output
Erasure-coded storage adds a new line to the plan output
erasure coded: files=1 size=2.15KB
which breaks with VERIFY_IS_EQUAL. Use VERIFY_IS_SUBSET to ignore it.
Testing: passed with ERASURE_CODING enabled.
Change-Id: Iafc193a9453de8dd102a5745021337d415c7b345
Reviewed-on: http://gerrit.cloudera.org:8080/24756
Reviewed-by: Michael Smith <[email protected]>
Tested-by: Michael Smith <[email protected]>
> 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: Michael Smith
> Priority: Major
> Fix For: Impala 5.0.0
>
>
> 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]