RFR: JDK-6823527: java.util.logging.Handler has thread safety issues

Jason Mehrens jason_mehrens at hotmail.com
Fri Aug 30 17:30:52 UTC 2013

> I'm not sure I'd want to attempt that. Modifications in logging code
> have a tendency to come back and bite you ;-(...
I understand.  Maybe a future RFE.  I'm happy with your changes then.

> isLoggable() is not synchronized and no longer calls synchronized
> methods since we're now using volatiles.
> So it can now be called by Thread A even if Thread B has locked
> the handler.
> Or did I miss something?
Yes and no.  Place this code in the actual context it is used (Logger.log(LogRecord)) and you'll find that Thread A and B will only call publish->isLoggable not isLoggable->publish->isLoggable.  It is written that way to avoid double filtering.

More information about the core-libs-dev mailing list