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 12:14:44 GMT

    [ 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
> Repository.login() and Session.refresh(), thinking of applications that e.g. test the
> 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.

View raw message