jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-1753) Allow means force a Repository to synchronize with the cluster
Date Thu, 09 Oct 2008 13:20:44 GMT

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

View raw message