AtomicReference<IOException> problem = new AtomicReference<>();
Collection<GraphBundle> gbundles = Arrays.stream(getBundles())
- .parallel()
+ // #7806: Due to databoard Binding/Serializer construction process thread-unsafety
+ // not even the DataContainer.readHeader invocations can run in parallel, most likely
+ // due to recurring serializer construction for Variant datatypes.
+ // Therefore, we must disable parallel loading for now.
+ //.parallel()
.map(b -> {
try {
return problem.get() == null ? getGraph(b) : null;
private static GraphBundleEx tryGetOnDemandGraph(Bundle bundle, URL url) throws IOException {
try {
Integer cachedHash = readCachedHash(url);
- if (cachedHash == null)
+ if (cachedHash == null) {
+ LOGGER.info("No cached hash for " + bundle);
return null;
+ }
Supplier<TransferableGraph1> graphSource = () -> {
try {
// For an unknown reason this is totally broken when running the TestSCLOsgi
// in the SDK Tycho build. It returns incomplete results because the
// ReadableByteChannel used by ByteFileReader starts returning 0 unexpectedly.
-// try (TransferableGraphFileReader reader = new TransferableGraphFileReader(is)) {
+// try (TransferableGraphFileReader reader = new TransferableGraphFileReader(is)) {
// return reader.readTG();
// }
return DataContainers.readFile(new DataInputStream(is), handlers);