Cluster sync not always done when calling session.refresh(..) -------------------------------------------------------------
Key: JCR-2786 URL: https://issues.apache.org/jira/browse/JCR-2786 Project: Jackrabbit Content Repository Issue Type: Bug Components: clustering Reporter: Thomas Mueller Assignee: Thomas Mueller Session.refresh(..) is supposed to synchronize cluster changes, but this doesn't always happen, specially if the syncDelay is low. The reason is a wrong assumption in ClusterNode.sync: The code there to avoid duplicate sync calls doesn't always work as expected. The following algorithm is used: int count = syncCount; syncLock.acquire(); if (count == syncCount) { journalSync(); syncCount++; } syncLock.release(); The problem is that the background thread might be at the line "syncCount++" when Session.refresh(..) is called, so that the main thread believes journalSync was already called and thus doesn't call it. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.