Shared Resources
Last modified by Eleni Cojocariu on 2026/10/20 06:45
Content
Explanation
Distributing events keeps the nodes of a cluster in agreement about what changed, but it moves no data: anything a node stores has to be stored where every other node can read it, or the nodes slowly become different wikis. Below is what they share, what they must not share, and the page that documents each.
| Resource | Why every node needs the same one | Where it is documented |
|---|---|---|
| The database | It holds the documents themselves, and every node reads and writes them there. | Install and Configure a Relational Database |
| A remote Solr server | Some Solr cores are storage rather than a rebuildable index: the events core is where notifications and the activity stream live, and ratings likewise. A node left on the default solr.type=embedded keeps its own copy of that data in its own permanent directory, so set solr.type=remote and solr.remote.baseURL on every node. | The "Set up a remote Solr server" section of Solr Search API |
| A blob store for attachments and deleted documents | Setting store.blobStoreType to s3 puts attachments and deleted documents where every node reads the same bytes. Only the filesystem blob store is bundled, so the S3 one has to be installed as an extension first. | Blob Store and Configure S3 as Blob Store |
| A shared directory for the filesystem store, when S3 is not an option | The filesystem store writes under the node's own permanent directory, so each node ends up with the attachments uploaded to it. Point store.file.directory at the shared mount instead of sharing the permanent directory itself. | The Attachment Store, and Sub-Directories in the Permanent Directory for the property itself |
| Not the permanent directory as a whole | It also holds state that has to stay per node: the cluster identifier in observation/id.txt, the keys and settings XWiki persists in configuration.properties, and the embedded Solr index in store/solr. Sharing all of it makes the nodes fight over the same files. | Sub-Directories in the Permanent Directory |
| The authentication keys | A node that was not given the same keys as the others rejects their session cookies, so a visitor is logged out the moment the load balancer moves them. | Authentication Parameters |
| A sticky load balancer | A session exists only on the node that created it, so a visitor has to keep reaching that node. | Add a Load Balancer |