Hi Tom,
The main purpose of this fix is to postpone debug message string parts
calculation/concatenation till when the actual output is needed, i.e. we
don't want to call which(clazz) until the debug output is needed
(debug=true) in XPathFactoryFinder ). I'm not sure that
function/bifunction can give us such possibility due to different ways
of messages construction in dPrint and debugPrintln usages.
Best,
Aleksej
On 15/12/16 20:22, Tom Schindl wrote:
Wouldn't it be better to use a function/bifunction instead of a supplier
because the supplier is a capturing?
Tom
Von meinem iPhone gesendet
Am 14.12.2016 um 19:04 schrieb Aleks Efimov <aleksej.efi...@oracle.com>:
Hi Joe,
Thank you for the suggestions. What about modifying the 'debugPrintln' and 'dPrint'
functions to accept 'j.u.function.Supplier<String>' instead of 'String'? Such
approach will give us a possibility to do the output string calculation only when
debugging is switched on. Such approach can be illustrated by this webrev:
http://cr.openjdk.java.net/~aefimov/8146271/9/01
Best Regards,
Aleksej
On 14/12/16 03:35, Joe Wang wrote:
Hi Aleksej,
You may want to improve the debugPrintln or its usage to remove the String
concatenations or method calls such as f.getClass().getName() that are
unnecessary when debug == false. Where we are here, could you expand the patch
to cover other jaxp packages (e.g. javax.xml.parsers) where similar problems
exist.
Best,
Joe
On 12/13/16, 3:02 PM, Aleks Efimov wrote:
Hello,
Please, help to review the changes that addresses the file system contention caused by
debug code in XPathFactoryFinder and XPathFactoryFinder classes [1]. Proposed fix wraps
the debug output code in "if(debug)" block:
http://cr.openjdk.java.net/~aefimov/8146271/9/00/
Best Regards,
Aleksej
[1] https://bugs.openjdk.java.net/browse/JDK-8146271