Estoy tratando de ejecutar un marco de eliminación que creé que tiene una gran cantidad de datos. Al intentar ejecutar Corb2, recibo la siguiente advertencia y, a veces, también un error debido a la falta de memoria.
WARNING: Slow receive! Consider increasing max heap size and using -XX:+UseConcMarkSweepGCError:
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)¿Alguien lo ha usado (especialmente con JavaScript) para poder trabajar con grandes volúmenes de datos?
En lugar de intentar encontrar el tamaño correcto de memoria para asignar para contener todos los URI en la memoria, habilite la opciónDISK-QUEUE para permitir que la cola de URI se derrame en el disco en un archivo temporal que se consume, en lugar de que todo sea mantenido en la memoria.
Opcionalmente, puede configurar la ruta para que los archivos temporales se escriban con DISK-QUEUE-TEMP-DIR . Si no se especifica, utilizará TEMP-DIR o java.io.tmpdir .