Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/5321 to look at the new patch set (#6). Change subject: KUDU-695. Avoid glog contention by deferring log writes to dedicated threads ...................................................................... KUDU-695. Avoid glog contention by deferring log writes to dedicated threads This patch changes the logging init sequence to install a wrapper around the built-in glog Loggers. The wrapper starts a new thread which does double-buffering: log entries are buffered in a vector, and the thread is woken up. The thread swaps in a clean buffer to avoid delaying application threads while it flushes the original buffer to disk. It's hard to test the end-to-end integration in a unit test, since the unit tests disable logging to files, and this path only affects file-based logging. However, I ran an earlier version of this patch in a stress test environment and it seemed to reduce the frequency with which I saw threads blocked on glog. The patch does, however, have a test which exercises the new code paths, including the blocking path. I looped the new test 500 times in TSAN mode with success. The new feature is enabled by default, but I left a hidden flag to disable it in case we have any issues. Change-Id: Ie22a0a29fa00a988a53a15d2c726ce5d49018f4d --- M src/kudu/util/CMakeLists.txt A src/kudu/util/async_logger.cc A src/kudu/util/async_logger.h M src/kudu/util/debug/leakcheck_disabler.h M src/kudu/util/logging-test.cc M src/kudu/util/logging.cc 6 files changed, 453 insertions(+), 2 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/21/5321/6 -- To view, visit http://gerrit.cloudera.org:8080/5321 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ie22a0a29fa00a988a53a15d2c726ce5d49018f4d Gerrit-PatchSet: 6 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Todd Lipcon <t...@apache.org> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: David Ribeiro Alves <dral...@apache.org> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Matthew Jacobs <m...@cloudera.com> Gerrit-Reviewer: Mike Percy <mpe...@apache.org> Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon <t...@apache.org>