[
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.