[ 
https://issues.apache.org/jira/browse/JCR-1753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12638287#action_12638287
 ] 

Jukka Zitting commented on JCR-1753:
------------------------------------

> For example, if there is a background thread that calls Session.refresh() 
> once a second,
> and if PersistenceManager.onExternalUpdate() takes one second.

Why is that a problem? With the syncCount patch any later refresh() methods 
will just wait for the first invocation to finish before just returning without 
invoking another sync. Also, the usual case is that there are no changes to 
report, so the amortized cost of the refresh() method is still pretty small.

The sync mutex already implements a lower bound delay that prevents any two 
syncs from executing concurrently. Adding more delay is IMHO stepping to the 
client territory. The client may have a good reason to want to sync more 
frequently (Micah's round robin case is an excellent example) and I see no 
reason why the repository should explicitly try to degrade the performance 
below what the hardware is capable of.

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

Reply via email to