Approximately 95% of all AEM instances are running on TarMK to power the content repository. Every improvement in performance or scalability has a positive impact on usability and availability improving overall user experience.
A reduction in the average storage footprint means more content can be served efficiently on the same appropriately sized hardware without performance degradation, thus saving operational costs. Reduced average Online Revision Cleanup execution time means less impact on a running system and less time spent in system maintenance.
The revision cleanup process consists of three phases: estimation, compaction and clean up. Estimation determines whether to run the next phase (compaction) or not based on how much garbage might be collected. During the compaction phase segments and tar files are rewritten leaving out any unused content. The clean up phase subsequently removes the old segments including any garbage they may contain.
AEM 6.4 introduces two different modes for the compaction phase:
- The full compaction mode rewrites all segments and tar files of the whole repository. The subsequent cleanup phase can thus remove the maximal amount of garbage across the whole repository. Since full compaction affects the whole repository it requires a considerable amount of system resources and time to complete. Full compaction corresponds to the compaction phase of AEM 6.3.
- The tail compaction mode rewrites only the most recent segments and tar files of the repository. The most recent segments and tar files are those that have been added since last time full/tail compaction ran. The subsequent cleanup phase can thus only remove the garbage contained in the recent part of the repository covered by tail compaction. Since tail compaction only affects a part of the repository it requires considerable less system resources and time to complete than full compaction. AEM 6.3 did not have a feature corresponding to tail compaction.
These compaction modes constitute a trade-off between efficacy and resource consumption: while tail compaction is less effective it has less impact on normal system operation. It is thus intended to be run during business days. In contrast full compaction is more effective but has also a bigger impact on normal system operation. It is intended to be used off business days. This intend is reflected through the default configuration that runs tail compaction on week days (Mon. - Sat.) and full compaction on Sun. The default can be changed via the new configuration value full.gc.days of the RevisionCleanupTaskmaintenance task.
Less visible to the end user AEM 6.4 also introduced a more efficient content deduplication mechanism during compaction, which further reduced the on-disk footprint of the repository.
Its recommended Tail compaction is run DAILY during off-peak hours, and Full compaction is run WEEKLY at off-peak hours.Tail compaction is less effective it has less impact on normal system operation. It is thus intended to be run during business days.Full compaction is more effective but has also a bigger impact on normal system operation. It is intended to be used off business days.
The default configuration runs tail compaction on week days (Mon. - Sat.) and full compaction on Sun. The default can be changed via the new configuration value full.gc.days of the RevisionCleanupTask maintenance task.The logic is that the full compaction runs during the day(s) defined in full.gc.days, while the tail compaction runs during all the other days of the week.