Hi, a few intermittent but rare test failures[1] that has appeared since the latest jake integration, and since one of the changes in there was to make initialization of the system ImageReader lazy there appears to be cases where ImageReaders are not safely published:
- Ensure ImageReader::open is called only once per Path in ImageReaderFactory by using CHM.computeIfAbsent - Ensure ImageReader.reader is safely published to a final field and signal close using a volatile boolean instead webrev: http://cr.openjdk.java.net/~redestad/8175010/webrev.02/ bug: https://bugs.openjdk.java.net/browse/JDK-8175010 Testing shows no issues (which admittedly doesn't mean we're actually solving the root cause for JDK-8174817), and performance numbers from adding a volatile read indicate that any overhead is lost in the noise on ImageReader-heavy workloads. Thanks! /Claes [1] https://bugs.openjdk.java.net/browse/JDK-8174817