In addition to the search index (that deserves it's own thread), we
have various different mechanisms for persisting repository
persistence managers for node and property states
data store for binary properties
journal for cluster synchronization records
file system abstraction for various minor things like:
custom_nodetypes.xml for registered node types
ns_reg.properties for registered namespaces
rootUUID file for the root node UUID (essentially a constant)
workspace.xml for workspace configuration
locks for open-scoped locks
Most information that we store in the repository is duplicated in at
least two of these locations. Reducing the amount of different storage
formats and mechanisms we use would make a lot of things easier.
Ideally we'd have a single clustered persistence layer that we could
use for all of these things (and the search index).