Fwd: Buffered Logging?

Ramki Ramakrishna rramakrishna at twitter.com
Tue Aug 13 01:19:14 UTC 2019

(Resent... Apologies to anyone who might see duplicates. There was an issue
with my membership in the list which, I am guessing, has now been resolved.)

---------- Forwarded message ----------
From: Ramki Ramakrishna <rramakrishna at twitter.com>
To: hotspot-dev at openjdk.java.net
Cc: "Liu, Xin" <xxinliu at amazon.com>, "Mathiske, Bernd" <mathiske at amazon.com>,
"Hohensee, Paul" <hohensee at amazon.com>, John Coomes <jcoomes at twitter.com>,
Tony Printezis <tprintezis at twitter.com>
Date: Mon, 12 Aug 2019 15:48:17 -0700
Subject: Buffered Logging?

In the JDK 7 time-frame, some folks noticed much longer than expected
pauses that seemed to coincide with GC logging in the midst of a GC
safepoint. In that setup, the GC logs were going to a disk file (these were
often useful for post-mortem analyses) rather than to a RAM-based tmpfs
which had been the original design center assumption. The vicissitudes of
the dirty page flushing policy in Linux when
IO load on the machine (not necessarily the JVM process doing the logging)
could affect the length and duration of these inline logging stalls.

A buffered logging scheme was then implemented by us (and independently by
others) which we have used successfully to date to avoid these pauses in
high i/o
multi-tenant environments.

We have recently ported the OpenJDK 8u based scheme past the Unified
Logging related changes and have been using it on OpenJDK 11u.

In various fora, some of us have heard people express an interest in such
an implementation.

Would there be appetite for this in openjdk (there are some differences
between our scheme in OpenJDK 8u and their subsequent post-Unified-Logging
port to OpenJDK 11)?

If so, we'd like to open a JBS ticket, attach some patches rebased to
current OpenJDK tip, and start preparing a webrev for discussion with a
view to possible upstreaming if it converges past review/discussion/debate.

PS: In recent discussion at the JVMLS, mention was made of something that
might be similar in support of JFR streaming, so our rebase to tip and
familiarization with any JFR-associated buffered logging might well make
this easier or, possibly, moot.

Thoughts, questions, comments, feedback?
-- ramki

JVM Team, Platform Engineering, Twitter (San Francisco)

More information about the hotspot-dev mailing list