Offline compaction fails with OutOfMemoryError in AEM

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.

 Adobe

Get help faster and easier

New user?

Adobe MAX 2024

Adobe MAX
The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX

The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX 2024

Adobe MAX
The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX

The Creativity Conference

Oct 14–16 Miami Beach and online