You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Unico Hommes <un...@apache.org> on 2013/02/21 09:52:36 UTC

Additional post initialisation phase for starting up workspaces

Hi all,

Recently I have been working on making both the index consistency
check and database consistency check more robust in live (clustered)
environments. See [1] and [2]. In both cases these improvements are
not yet available during the initialization phases of the respective
components that run these checks during repository startup.

In the case of the index consistency check, the double check feature I
added performs a synchronisation of the cluster node before rechecking
the errors. In the case of the database consistency check, the repair
phase requires the availability of an update event channel to inform
the cluster of modifications it makes.

Both these cases require the cluster node to be started but the
cluster node is only started after these initialization phases.

I think the best way to solve this is to add a post-initialization
step for the workspace startup process that is to be run after the
cluster node has been started. Running the consistency checks could
then be postponed to this phase.

The sequence in the RepositoryImpl constructor would then be:

initStartupWorkspaces()

…

clusterNode.start();

postInitStartupWorkspaces();


1. https://issues.apache.org/jira/browse/JCR-3517
2. https://issues.apache.org/jira/browse/JCR-3525


What do others think? Is this the best way to solve this problem?

--
Unico