On Tue, Jan 13, 2009 at 8:59 PM, Alexander Wallace <[email protected]> wrote: > i think the answer to my following question is "yes" after reading this wiki > page: > > http://wiki.apache.org/jackrabbit/DataStore > > But I want to verify: > > If i have cluster configuration but only one repository using the same data > store, I can use the normal garbage collection (ie: gc.deleteUnused(); ), > correct?
I would think so, but I am not 100% sure what happens if one node already has removed the reference to the datastore entry (aka marked unused during gc), but another cluster node still wants to read from it, because the removed node or property event hasn't arrived yet... > > The [Manually delete files with last modified date older than X] (from that > page) only applys to haging multiple repositories share the same > datastore... Right. There is no synchronization mechanism in the datastore for access by multiple repositories, which would be required for the garbage collection to find out which entries are unused by _all_ repositories before deleting them. Collision is avoided purely by the use of UUIDs/hashs, so when writing to the datastore no synchronization is required. See also https://issues.apache.org/jira/browse/JCR-1865 Regards, Alex -- Alexander Klimetschek [email protected]
