mirror of
https://github.com/apache/impala.git
synced 2025-12-25 02:03:09 -05:00
IMPALA-13507: Allow disabling glog buffering via with_args fixture
We have plenty of custom_cluster tests that assert against content of
Impala daemon log files while the process is still running using
assert_log_contains() and it's wrappers. The method specifically mention
about disabling glog buffering ('-logbuflevel=-1'), but not all
custom_cluster tests do that. This often result in flaky test that hard
to triage and often neglected if it does not frequently run in core
exploration.
This patch adds boolean param 'disable_log_buffering' into
CustomClusterTestSuite.with_args for test to declare intention to
inspect log files in live minicluster. If it is True, start minicluster
with '-logbuflevel=-1' for all daemons. If it is False, log WARNING on
any calls to assert_log_contains().
There are several complex custom_cluster tests that left unchanged and
print out such WARNING logs, such as:
- TestQueryLive
- TestQueryLogTableBeeswax
- TestQueryLogOtherTable
- TestQueryLogTableHS2
- TestQueryLogTableAll
- TestQueryLogTableBufferPool
- TestStatestoreRpcErrors
- TestWorkloadManagementInitWait
- TestWorkloadManagementSQLDetails
This patch also fixed some small flake8 issues on modified tests.
There is a flakiness sign at test_query_live.py where test query is
submitted to coordinator and fail because sys.impala_query_live table
has not exist yet from coordinator's perspective. This patch modify
test_query_live.py to wait for few seconds until sys.impala_query_live
is queryable.
Testing:
- Pass custom_cluster tests in exhaustive exploration.
Change-Id: I56fb1746b8f3cea9f3db3514a86a526dffb44a61
Reviewed-on: http://gerrit.cloudera.org:8080/22015
Reviewed-by: Jason Fehr <jfehr@cloudera.com>
Reviewed-by: Michael Smith <michael.smith@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
This commit is contained in:
committed by
Impala Public Jenkins
parent
5c9b82854a
commit
95f353ac4a
@@ -45,18 +45,21 @@ class TestLoggingCore(CustomClusterTestSuite):
|
||||
|
||||
@pytest.mark.execute_serially
|
||||
@CustomClusterTestSuite.with_args(cluster_size=1,
|
||||
impalad_args="--max_error_logs_per_instance=2")
|
||||
impalad_args="--max_error_logs_per_instance=2",
|
||||
disable_log_buffering=True)
|
||||
def test_max_errors(self):
|
||||
self._test_max_errors(2, 4, True)
|
||||
|
||||
@pytest.mark.execute_serially
|
||||
@CustomClusterTestSuite.with_args(cluster_size=1,
|
||||
impalad_args="--max_error_logs_per_instance=3")
|
||||
impalad_args="--max_error_logs_per_instance=3",
|
||||
disable_log_buffering=True)
|
||||
def test_max_errors_0(self):
|
||||
self._test_max_errors(3, 0, True)
|
||||
|
||||
@pytest.mark.execute_serially
|
||||
@CustomClusterTestSuite.with_args(cluster_size=1,
|
||||
impalad_args="--max_error_logs_per_instance=2")
|
||||
impalad_args="--max_error_logs_per_instance=2",
|
||||
disable_log_buffering=True)
|
||||
def test_max_errors_no_downgrade(self):
|
||||
self._test_max_errors(2, -1, False)
|
||||
|
||||
Reference in New Issue
Block a user