Composite NodeStore

Kinjal P Darji
1 min readMay 15, 2022

Composite NodeStore is a new feature provided with Apache Jackrabbit OAK which resolves the problem of synchronizing the repository contents while scaling. Composite NodeStore makes use of singular JCR APIs to expose several different NodeStore providers.

AEMaaCS uses Composite NodeStore to combine Segment NodeStores for the /apps and /libs directories and fragments of /oak:index with a MongoDB backed Document NodeStore for the remaining part of the repository.

This gives below benefits

  • Since deployments in AEMaaCS are done using blue/green strategy, the newly created green instance can directly connect to the same MongoDB instance to synchronize the repository contents.
  • It resolves performance problems with using the Document NodeStore by keeping the most read paths in a local Segment NodeStore.
  • This also makes the base AEM and custom code immutable as the /apps and /libs directories are on read-only NodeStores. Even in CRXDE, one cannot modify anything under those paths

However, this means mutable and immutable paths can not be mixed in the content packages.

--

--

Kinjal P Darji

Hi, I am an AEM architect and a certified AWS Developer — Associate.