Support #6637
openAccumulators in chained Burst Streaming mode causing OOM
0%
Description
When executing two chained, streamed xslt transformations (xslt1, xslt2), accumulators in the second transformation seem to cause a growth in memory need linear to the number of processed elements with copy-of() wherein those accumulators are accessed.
The same two transformations executed serially with writing to disk inbetween work perfectly.
When chaining with xslt1Trafo.applyTemplates(input, xslt2Trafo.asDocumentDestination(finalDest)) we see the memory growth and from the partial result written to disk before the OOM is seems as if the accumulator does not accumulate any values in xslt2 when chained.
Updated by Martin Honnen 10 days ago
As a workaround, it seems that streaming with JAXP and StreamingTransformerFactory does work with your burst mode streaming and the accumulators
Updated by Reto Blunschi 7 days ago
related to #6626 - in there the fact that the accumulator in the second chained trafo does not accumulate anything is investigated. A fix there might also address the memory issue.
Updated by Michael Kay 6 days ago
I think this is almost certainly the same problem as #6626. The accumulator values are being created but are associated with the wrong transformation, and are therefore not garbage collected.
Updated by Michael Kay 6 days ago
I have removed links to external sites for intellectual property reasons.
Please register to edit this issue