-
Bug
-
Resolution: Done
-
Blocker
-
3.1.1.Final
-
None
When creating external projections (either via initial configuration or via the FederationManager), these are stored in an in-memory map inside the Connectors class. These mappings are then persisted in the repository (in the /jcr:system) only when the repository shuts down.
On the other hand, federated segments are created and stored on the federated nodes immediately after the createProjection call.
This means that for a repository that has not been "orderly shutdown", the following corruption happens:
- there are federated nodes (internal nodes) in the repository which have federated segments in their document structure
- there aren't any projections stored in the system area
The above 2 together with the fix for MODE-1798 means that when a repository restarts, an exception will be thrown.
We should fix both those problems:
- projections should be stored in the system area immediately after the createProjection call
- when attempting to create a preconfigured projection, if there is an internal or federated node at that path, only a warning should be logged.