I encountered a challenge while running my custom deletion framework on a massive dataset. When attempting to execute Corb2, I started receiving the warning below and occasionally even encountered errors due to insufficient memory.
WARNING: Slow receive! Consider increasing max heap size and using -XX:+UseConcMarkSweepGC
Error:
Sep 23, 2021 1:06:23 PM com.marklogic.developer.corb.QueryUrisLoader closeRequestAndSession
INFO: closing uris session
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:3332)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:596)
at java.lang.StringBuilder.append(StringBuilder.java:190)
at com.marklogic.io.IOHelper.literalStringFromReader(IOHelper.java:50)
at com.marklogic.io.IOHelper.literalStringFromStream(IOHelper.java:66)
at com.marklogic.http.MultipartBuffer.getBodyAsString(MultipartBuffer.java:75)
at com.marklogic.xcc.impl.AbstractResultSequence.instantiateResultItem(AbstractResultSequence.java:138)
at com.marklogic.xcc.impl.StreamingResultSequence.next(StreamingResultSequence.java:147)
at com.marklogic.xcc.impl.StreamingResultSequence.next(StreamingResultSequence.java:166)
at com.marklogic.developer.corb.QueryUrisLoader.populateQueue(QueryUrisLoader.java:212)
at com.marklogic.developer.corb.QueryUrisLoader.createAndPopulateQueue(QueryUrisLoader.java:201)
at com.marklogic.developer.corb.QueryUrisLoader.open(QueryUrisLoader.java:122)
at com.marklogic.developer.corb.Manager.runUrisLoader(Manager.java:809)
at com.marklogic.developer.corb.Manager.populateQueue(Manager.java:830)
at com.marklogic.developer.corb.Manager.run(Manager.java:578)
at com.marklogic.developer.corb.Manager.main(Manager.java:138)
Has anyone successfully used this tool (especially with JavaScript) for handling large datasets before?