Riza Suminto created IMPALA-13507:
-------------------------------------
Summary: Add param to disable glog buffering in with_args fixture
Key: IMPALA-13507
URL: https://issues.apache.org/jira/browse/IMPALA-13507
Project: IMPALA
Issue Type: Improvement
Components: Test
Affects Versions: Impala 4.4.0
Reporter: Riza Suminto
Assignee: Riza Suminto
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.
{code:java}
def assert_log_contains(self, daemon, level, line_regex, expected_count=1,
timeout_s=6,
dry_run=False):
"""
Assert that the daemon log with specified level (e.g. ERROR, WARNING, INFO)
contains
expected_count lines with a substring matching the regex. When
expected_count is -1,
at least one match is expected.
Retries until 'timeout_s' has expired. The default timeout is the default
minicluster
log buffering time (5 seconds) with a one second buffer.
When using this method to check log files of running processes, the caller
should
make sure that log buffering has been disabled, for example by adding
'-logbuflevel=-1' to the daemon startup options or set timeout_s to a value
higher
than the log flush interval. Returns the result of the very last call to
line_regex.search or None if
expected_count is 0 or the line_regex did not match any lines.
""" {code}
This often result in flaky test that hard to triage and often neglected if it
does not frequently run in core exploration.
We can improve this by adding boolean param into
CustomClusterTestSuite.with_args, say 'disable_log_buffering', 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().
--
This message was sent by Atlassian Jira
(v8.20.10#820010)