Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Implemented
-
None
-
None
-
None
-
None
-
ghx-label-14
Description
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.
We could use a row_regex to accept both values so it works for both snapshot and release versions.