> The tradeoff is potential loss of a small amount of buffered log data on > abrupt JVM termination, which seems acceptable for GC logs. Quite acceptable IMO. I'm +1 on the change.
On Tue, May 26, 2026, at 10:45 AM, Dmitry Konstantinov wrote: > Hi everyone, > > I’d like to propose [1] enabling async GC logging by default for Cassandra > 6.0 and trunk branches on JDK 17 and 21 (`-Xlog:async`). > > GC logs are diagnostic-only, and async logging reduces the chance of GC log > I/O impacting Cassandra latency during GC activity. I’ve seen several cases > in both production and development environments where JVM pauses were caused > by GC log file I/O blocking. See [2] and [3] for more details on this class > of issue. > > The tradeoff is potential loss of a small amount of buffered log data on > abrupt JVM termination, which seems acceptable for GC logs. > > Operators who prefer synchronous logging can still override the setting > explicitly. > > Unless there are objections or edge cases I missed, I’d like to move forward > with enabling this by default on these branches. > > Thanks, > Dmitry > > [1] https://issues.apache.org/jira/browse/CASSANDRA-21372 > [2] https://aws.amazon.com/blogs/developer/asynchronous-logging-corretto-17 > [3] > https://www.linkedin.com/blog/engineering/archive/eliminating-large-jvm-gc-pauses-caused-by-background-io-traffic > > >
