Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Calabash runs out of memory in combination with streaming in saxon #60
As a part of my pipeline, I am calling an XSLT stylesheet split.xsl which uses streaming.
This process quickly eats up all free physical memory.
This is how the saving part looks like:
<p:xslt name="xslt-split" template-name="main" initial-mode="s"> <p:input port="source"> <p:empty/> </p:input> <p:input port="stylesheet"> <p:document href="split.xsl"/> </p:input> <p:input port="parameters"> <p:pipe step="prepare-params-for-xslt-split" port="result"/> </p:input> </p:xslt> <p:store name="store-xslt-result"> <p:with-option name="href" select="concat($split-folder,'/result-', $bare-filename)"/> </p:store> <p:for-each name="store-xslt-secondary-results"> <p:iteration-source> <p:pipe step="xslt-split" port="secondary"/> </p:iteration-source> <p:store> <p:with-option name="href" select="p:base-uri()"/> </p:store> </p:for-each>
I am not sure what causes the problem (but I think it is not Saxon, because the streaming really works and the big document is never loaded into the memory whole in one time).
Is it because that Calabash still holds the documents coming out from the secondary port in the memory? Do you have any suggestions on how to make this process work? I can provide the complete example if need be.