On Fri, 5 May 2023 13:43:43 GMT, Daniel Fuchs <dfu...@openjdk.org> wrote:

> Several Handlers class use monitors to synchronize when formatting / 
> publishing LogRecords.
> When logging within a VirtualThread, holding this monitor can cause the 
> carrier thread to be pinned.
> Handlers could use jdk.internal.misc.InternalLock, in a similar way to some 
> java.io classes (such as PrintStream) to avoid pinning the carrier thread.

Something I was wondering:

Use of InternalLock can be disabled with `-Djdk.io.useMonitors=true`

But should we have a property to force the use of InternalLock (when enabled) 
even in the presence of custom handlers subclasses? We could use 
`-Djdk.io.useMonitors=false` to mean that - or introduce a new system property 
specific to `java.util.logging.Handlers`. For instance 
`-Djdk.logging.disableMonitors=true`? That could be helpful for applications 
that do heavy logging and use their own custom handlers.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/13832#issuecomment-1536297097

Reply via email to