Hello Tidy Bot, Alexey Serbin, Kudu Jenkins, Todd Lipcon, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/10435 to look at the new patch set (#7). Change subject: KUDU-2427: retry more system calls on EINTR ...................................................................... KUDU-2427: retry more system calls on EINTR In order to collect its own stack traces, Kudu periodically sends itself a SIGUSR2. The diagnostics log initiates stack collection every 60s, as do some service queue overflow events. In theory, the collection shouldn't affect any ongoing syscalls because the SIGUSR2 signal handler is installed with SA_RESTART; in practice, not all syscalls are restartable, and precisely categorizing those that are and those that aren't is difficult. As such, it's really important that we retry every interruptible syscall rather than surfacing the EINTR up the call stack as a failure. For whatever reason this happens more frequently on Ubuntu 18.04, though maybe it's because I've placed my test directory on tmpfs. For example, I can easily repro a crash due to non-existent retry with the following command line: bin/tablet_server-test --gtest_repeat=1000 --gtest_throw_on_failure \ --diagnostics_log_stack_traces_interval_ms=100 \ --unlock_experimental_flags --gtest_filter=*KUDU_177 This patch also fixes KUDU-2151. Change-Id: I6cce03c4e1b2be32c1910382737526082fc99966 --- M src/kudu/consensus/log_index.cc M src/kudu/gutil/macros.h M src/kudu/gutil/sysinfo.cc M src/kudu/tools/tool_action_common.cc M src/kudu/tools/tool_action_test.cc M src/kudu/util/env-test.cc M src/kudu/util/env_posix.cc M src/kudu/util/net/socket.cc M src/kudu/util/os-util.cc M src/kudu/util/os-util.h M src/kudu/util/pstack_watcher-test.cc M src/kudu/util/pstack_watcher.cc M src/kudu/util/semaphore.cc M src/kudu/util/subprocess-test.cc M src/kudu/util/subprocess.cc 15 files changed, 253 insertions(+), 138 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/35/10435/7 -- To view, visit http://gerrit.cloudera.org:8080/10435 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I6cce03c4e1b2be32c1910382737526082fc99966 Gerrit-Change-Number: 10435 Gerrit-PatchSet: 7 Gerrit-Owner: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon <t...@apache.org>