Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
Impala 3.3.0
-
ghx-label-5
Description
TestHBaseQueries.test_hbase_col_filter() failed on a centos6 exhaustive build with the following error:
query_test/test_hbase_queries.py:89: in test_hbase_col_filter self.run_stmt_in_hive(add_data) common/impala_test_suite.py:781: in run_stmt_in_hive if tmpdir is not None: shutil.rmtree(tmpdir) /usr/lib64/python2.6/shutil.py:212: in rmtree rmtree(fullname, ignore_errors, onerror) /usr/lib64/python2.6/shutil.py:212: in rmtree rmtree(fullname, ignore_errors, onerror) /usr/lib64/python2.6/shutil.py:212: in rmtree rmtree(fullname, ignore_errors, onerror) /usr/lib64/python2.6/shutil.py:217: in rmtree onerror(os.remove, fullname, sys.exc_info()) /usr/lib64/python2.6/shutil.py:215: in rmtree os.remove(fullname) E OSError: [Errno 2] No such file or directory: '/tmp/impala-tests-j2b9bQ/localRunner/jenkins/job_local541814598_0023/job_local541814598_0023.xml'
ImpalaTestSuite::run_stmt_in_hive() creates a temporary directory when in LocalRunner mode to avoid different tests conflicting on the directory name. It creates the temp directory, runs the Hive statement, then removes the directory at the end. The removal is failing here. It looks like there might be a race between pytest running shutil.rmtree() and Hive cleaning up its own files from the statement.
We might want to use shutil.rmtree(..., ignore_errors=True).
Seen once.