code.onehippo.org is currently readonly. We are migrating to code.bloomreach.com, please continue working there on Monday 14/12. See: https://docs.bloomreach.com/display/engineering/GitLab

Commit 78ba6dcb authored by Ard Schrijvers's avatar Ard Schrijvers

REPO-1916 [Backport 12.1] Make sure to have latest jcr node states instead of possibly stale nodes

Since the lock via the LockManager does not involve any jcr locking, it
does *never* trigger a cluster sync. This means that we can get the lock
for a node that has been processed and finished just by another cluster
node that also already freed the lock again. Making sure that after we
obtained the lock to invoke a session refresh should result in that
process the job.

(cherry picked from commit 075c95c1)
parent 3fdd755a
......@@ -584,6 +584,7 @@ public class JCRJobStore implements JobStore {
}
LockResource lockResource = lock(jobNode, triggerNode);
if (lockResource != null) {
session.refresh(false);
try {
// double check nextFireTime now that we have a lock
if (isPendingTrigger(triggerNode, noLaterThan)) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment