[
https://issues.apache.org/jira/browse/XALANJ-2608?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Joe Kesselman resolved XALANJ-2608.
-----------------------------------
Resolution: Incomplete
Insufficient information to reproduce. Breaking up the document and later
reassembling, or filtering irrelevant parts out of the input, or using
incremental with the discard extension, or simply increasing heap size, are the
usual approaches. Some day sone if that may be able to be di e automatically
--IBM has a few patents related to that – or the XSLT 3.0 streaming model, may
help with large documents, but Xalan does not currently implement those
concepts.
One thought: If you are using DOM input, try switching to SAX. Our DTM document
model was explicitly designed to pack large documents into less memory than an
object based DOM can.
> Java Heap Space Error from DTMDefaultBase
> -----------------------------------------
>
> Key: XALANJ-2608
> URL: https://issues.apache.org/jira/browse/XALANJ-2608
> Project: XalanJ2
> Issue Type: Bug
> Security Level: No security risk; visible to anyone(Ordinary problems in
> Xalan projects. Anybody can view the issue.)
> Components: DTM
> Affects Versions: 2.7.1, 2.7.2
> Environment: Windows 7 Entreprise Service Pack 1
> Java 8 update 122 - MaxHeapSize = 4GB
> Reporter: khaled khalifa
> Assignee: Steven J. Hathaway
> Priority: Major
> Attachments: IBXsltUtils.java, PIM_export.xslt, XSLTSample.java,
> java_leak_problem.PNG
>
>
> When trying to gnerate a large xml file (1.5 GB) via un batch (spring-batch)
> we get a *java.lang.OutOfMemoryError: Java heap space*
> {code}
> java.lang.OutOfMemoryError: Java heap space
> at
> org.apache.xml.dtm.ref.DTMDefaultBase.ensureSizeOfIndex(DTMDefaultBase.java:302)
> at
> org.apache.xml.dtm.ref.DTMDefaultBase.indexNode(DTMDefaultBase.java:328)
> at
> org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.startElement(SAX2DTM.java:1887)
> at
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown
> Source)
> at
> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown
> Source)
> at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown
> Source)
> at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown
> Source)
> at
> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown
> Source)
> at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
> Source)
> at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
> Source)
> at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
> Source)
> at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown
> Source)
> at
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown
> Source)
> at
> org.apache.xml.dtm.ref.DTMManagerDefault.getDTM(DTMManagerDefault.java:439)
> at
> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:701)
> at
> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1275)
> at
> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1253)
> {code}
> In the attachment you may find a screenshot of the java analyser for the leak
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]