[ https://issues.apache.org/jira/browse/SLING-1917?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Carsten Ziegeler resolved SLING-1917. ------------------------------------- Resolution: Fixed Implemented a lock manager in revision 1055369 And created JCR-2859 > Make Locking Strategy Configurable (for Cluster Usage) > ------------------------------------------------------ > > Key: SLING-1917 > URL: https://issues.apache.org/jira/browse/SLING-1917 > Project: Sling > Issue Type: New Feature > Components: Extensions > Affects Versions: Extensions Event 2.4.2 > Reporter: Carsten Ziegeler > Assignee: Carsten Ziegeler > Fix For: Extensions Event 3.0.0 > > > The Sling eventing currently uses session scoped locks to prevent two cluster > nodes to process the same job. > Unfortunately, Jackrabbit does currently not support session scoped locks in > a cluster. > Another way would be to use open scoped locks. We could implement a heartbeat > functionality which detects if a cluster node is not available anymore and > any other node in the cluster unlocks the > locked nodes. Unfortunately, this doesn't work in Jackrabbit either, as the > lock handling is implemented in a very strict way and only the session which > created the lock can unlock it (or the other session > needs the lock token) - I'll create an enhancement bug for this in Jackrabbit > If no cluster is used at all, we could skip the locking completly and > therefore reduce the load on the repository > Therefore we could make a lock manager with a locking mode configuration of > "session scoped", "open scoped", and "none" > As an additional note, if one want to use Jackrabbit and the Sling eventing > in a clustered environment - one working approach is to disable job execution > on all but a single cluster node - this can be done by setting the > jobmanager.enabled configuration property for the JobManager -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.