Offline compaction fails with OutOfMemoryError exception causing the repository to grow without completing the cleanup phase.

Cause

Heap memory runs out during offline compaction and it fails with the error below:

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
at java.lang.StringBuffer.toString(StringBuffer.java:671)
at java.io.RandomAccessFile.readLine(RandomAccessFile.java:936)
at org.apache.jackrabbit.oak.plugins.segment.file.FileStore.<init>(FileS tore.java:373)
at org.apache.jackrabbit.oak.plugins.segment.file.FileStore.<init>(FileS tore.java:76)
at org.apache.jackrabbit.oak.plugins.segment.file.FileStore$Builder.crea te(FileStore.java:286)
at org.apache.jackrabbit.oak.run.Main.openFileStore(Main.java:407)
at org.apache.jackrabbit.oak.run.Main.compact(Main.java:372)
at org.apache.jackrabbit.oak.run.Main.main(Main.java:147)

Resolution

  1. Increase the -Xms16G -Xmx16G and retry the offline compaction.
  2. Make sure that the oak-run tool version matches the oak-core version installed in your AEM instance.
  3. See this article with more tips on how to reduce memory utilization of offline compaction.

Tato práce podléhá licenci Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Na příspěvky ze služeb Twitter™ a Facebook se nevztahují podmínky licence Creative Commons.

Právní upozornění   |   Zásady ochrany osobních údajů online