[
https://issues.apache.org/jira/browse/JCR-1753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12638269#action_12638269
]
Jukka Zitting commented on JCR-1753:
------------------------------------
> missing "h" in method name "syncWitCluster" ;)
Good catch, thanks!
> I'm still uneasy with the idea of having journal.sync() being potentially
> called with every
> Repository.login() and Session.refresh(), thinking of applications that e.g.
> test the repository
> availability by intermittently calling Repository.login().
The performance hit is a single SELECT statement (for DatabaseJournal) or a
directory listing (for FileJournal). I don't think that's too much, but you're
right in that there are cases (one example is a web site without a session
pool) where avoiding any extra perfromance hit on login() would be beneficial.
I think it would be OK if we didn't trigger the cluster sync on login(). A
client could still use refresh() to ensure causal consistency (Micah's use
case).
> What about specifying a lower bound on the delay (e.g. 1 second) that should
> pass before
> another journal sync actually takes place?
That would kind of defeat the purpose as the client would then have no way
(apart from explicitly waiting for that one second and retrying the sync) to
ensure consistent access to the repository.
> Allow means force a Repository to synchronize with the cluster
> --------------------------------------------------------------
>
> Key: JCR-1753
> URL: https://issues.apache.org/jira/browse/JCR-1753
> Project: Jackrabbit
> Issue Type: New Feature
> Components: clustering, jackrabbit-api, jackrabbit-core
> Reporter: Micah Whitacre
> Assignee: Jukka Zitting
> Attachments:
> 0001-JCR-1753-Allow-means-force-a-Repository-to-synchron.patch,
> 0002-JCR-1753-Allow-means-force-a-Repository-to-synchron.patch,
> JCR-1753.tar.gz
>
>
> Based on the thread on the user mailing list I'm logging this to propose
> adding a sync() method to force cluster synchronization using the
> JackrabbitRepository extension API.
> The purpose of the method is such that in a distributed clustered environment
> sometime cluster synchronization does or has not occurred such that certain
> repositories are in a stale state. This method would provide a means to
> force a repository to update pull in possible changes made by other
> Jackrabbit repositories.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.