AEM Oak Rollbacks: Magically Recovering from Catastrophic Repository IssuesSeptember 30, 2018
In September 2017, my Rackspace colleague Peter Stolmar and I gave a devops talk in Santa Clara, CA at an Adobe Global Community meetup, on the process for doing an Oak Rollback in AEM, which I only just found out there was video footage of. So, here’s the presentation in its entirety – mostly my introducing Peter, as he poured his heart and soul into developing the process for doing these Oak Rollbacks automatically.
Abstract: How to Recover from a Multitude of Serious AEM Repository Issues with the Oak Roll-back procedure
What if you could make high-risk changes in your local AEM without worrying about losing your day’s work (or more), and without spending hours backing up the whole repository? What if you could quickly “undo” that package installation, content deletion, broken cumulative fix pack, or configuration change?
Many users of AEM are aware of the built-in authoring undo features as well as the Page Versioning or “Time Warp” functionality that can be used to restore previous versions of a page, including restoring deleted pages or content trees.
But what if there are no pages to restore? What if it is necessary to go back to an older version of a bundle, a package will not uninstall, the repository is corrupted, or the number of nodes deleted is simply too large for the system to restore?
There is a way to recover from these types of errors, but it requires a bit of preparation. We can create a repository checkpoint before performing a high-risk operation, and if things go wrong – even if AEM will not start, in many cases – we can quickly restore to this checkpoint using the oak-run jar.
The speakers will demonstrate using the rollback process to undo the installation of an Adobe Experience Manager Cumulative Fix Pack and show how you can make use of this rollback process in your development workflow.
Second, we will demonstrate using this rollback process to recover from the accidental deletion of a site.
We will also discuss how to design and implement automation for this and other AEM maintenance tasks in order to have repeatable outcomes, further reducing risk in AEM environments.