Root cause
The bug OAK-12134 is a regression introduced in Oak 1.88 by an internal refactoring of checkpoint compaction:
- Oak 1.78: Online GC compacts only the repository root and checkpoint content roots.
- Oak 1.88: Online GC compacts the entire super-root and all checkpoint subtrees including metadata — a scope ~12x larger.
This causes far more data to be written per GC cycle than is reclaimed:
| Metric | Oak 1.88 (affected) | Oak 1.78 (baseline) |
|---|
| Data written per GC | ~800 MB | ~65 MB |
| Compaction time | ~35s | ~2.4s |
| Segment store | Grows | Shrinks as expected |
The prolonged compaction also allows more concurrent writes during the cycle, triggering additional retry rounds and in some cases forcing a blocking compaction.
Who is affected
Customers on AEM 6.5 LTS SP2 (Oak 1.88.x) running online GC.
Workaround
Add the following system property to your AEM JVM start arguments:
-Doak.compaction.legacy=true
This switches online GC back to Oak 1.78 compaction behaviour, restoring normal disk usage and compaction times. This workaround is safe to use in production.
Fix status
A proper fix is being tracked under OAK-12134. In the meantime, the -Doak.compaction.legacy=true workaround is the recommended approach.
References
- OAK-12134: https://issues.apache.org/jira/browse/OAK-12134
- Related SNFE issue: https://issues.apache.org/jira/browse/OAK-12119