From 87e0077255104f5aba3cec4aeaab6096e608f4f9 Mon Sep 17 00:00:00 2001 From: Daniel Becker Date: Mon, 21 Nov 2022 09:52:24 +0100 Subject: [PATCH] IMPALA-11734: TestIcebergTable.test_compute_stats fails in RELEASE builds If the Impala version is set to a release build as described in point 8 in the "How to Release" document (https://cwiki.apache.org/confluence/display/IMPALA/How+to+Release#HowtoRelease-HowtoVoteonaReleaseCandidate), TestIcebergTable.test_compute_stats fails: Stacktrace query_test/test_iceberg.py:852: in test_compute_stats self.run_test_case('QueryTest/iceberg-compute-stats', vector, unique_database) common/impala_test_suite.py:742: in run_test_case self.__verify_results_and_errors(vector, test_section, result, use_db) common/impala_test_suite.py:578: in __verify_results_and_errors replace_filenames_with_placeholder) common/test_result_verifier.py:469: in verify_raw_results VERIFIER_MAP[verifier](expected, actual) common/test_result_verifier.py:278: in verify_query_result_is_equal assert expected_results == actual_results E assert Comparing QueryTestResults (expected vs actual): E 2,1,'2.33KB','NOT CACHED','NOT CACHED','PARQUET','false','hdfs://localhost:20500/test-warehouse/test_compute_stats_74dbc105.db/ice_alltypes' != 2,1,'2.32KB','NOT CACHED','NOT CACHED','PARQUET','false','hdfs://localhost:20500/test-warehouse/test_compute_stats_74dbc105.db/ice_alltypes' The problem is the file size which is 2.32KB instead of 2.33KB. This is because the version is written into the file, and "x.y.z-RELEASE" is one byte shorter than "x.y.z-SNAPSHOT". The size of the file in this test is on the boundary between 2.32KB and 2.33KB, so this one byte can change the value. This change fixes the problem by using a regex to accept both values so it works for both snapshot and release versions. Change-Id: Ia1fa12eebf936ec2f4cc1d5f68ece2c96d1256fb Reviewed-on: http://gerrit.cloudera.org:8080/19260 Reviewed-by: Impala Public Jenkins Tested-by: Impala Public Jenkins --- .../queries/QueryTest/iceberg-compute-stats.test | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/testdata/workloads/functional-query/queries/QueryTest/iceberg-compute-stats.test b/testdata/workloads/functional-query/queries/QueryTest/iceberg-compute-stats.test index e07d4f976..111dcdeab 100644 --- a/testdata/workloads/functional-query/queries/QueryTest/iceberg-compute-stats.test +++ b/testdata/workloads/functional-query/queries/QueryTest/iceberg-compute-stats.test @@ -21,7 +21,10 @@ show table stats ice_alltypes ---- LABELS #ROWS, #Files, Size, Bytes Cached, Cache Replication, Format, Incremental stats, Location ---- RESULTS: VERIFY_IS_EQUAL -2,1,'2.33KB','NOT CACHED','NOT CACHED','PARQUET','false','$NAMENODE/test-warehouse/$DATABASE.db/ice_alltypes' +# The file size is on the boundary between 2.32KB and 2.33KB. The build version is written +# into the file, and "x.y.z-RELEASE" is one byte shorter than "x.y.z-SNAPSHOT". In release +# builds the file size is 2.32KB, in snapshot builds it is 2.33KB. +2,1,regex:'2.3[23]KB','NOT CACHED','NOT CACHED','PARQUET','false','$NAMENODE/test-warehouse/$DATABASE.db/ice_alltypes' ---- TYPES BIGINT,BIGINT,STRING,STRING,STRING,STRING,STRING,STRING ====