Hi,
What are BundlePersistenceManagers? I could not find ones in source code of JR 1.2.3.
Please find the source here: https://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/bundle/ ... and some initial explanations: http://issues.apache.org/jira/browse/JCR-755
It seems to me that synchronizing repository changes using a network file system is not reliable and fast enough. How do you think, could this approach be extended so to reuse JBoss/JGroups features of cluster-wide object replication, and how difficult this might be? We would probably contribute to implement this feature in case it is feasible.
The Journal is fairly abstract and could be implemented over a number of different mechanisms to notify other nodes in the cluster. In case that you are already using an RDBMS as your backing store I would recommend to use a database persisted Journal instead of an FS backed Journal. Since this would persist into the same database it would be considered just as reliable and efficient as the rest of the persistence layer.
Another question is in which cases Jackrabbit decides the indices are inconsistent and should be rebuilt from the persistance storage? I did not noted that this operation is performed every time the server starts. Is this operation performed on the whole bunch of data or it can cover a specified set of items? Once, my database was purged but local indices remained intact, and I always saw warning messages on the console that nodes with particular ids were not found. These messages continued to appear even after restart of the server unless I deleted the indices too.
The index has to be removed if someone tampered with the backing datastore of jackrabbit to trigger re-indexing. Generally, I think that modifying the backing store directly should probably considered bad practice and should only happen in exceptional cases. regards, david
