You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Stefan Egli (JIRA)" <ji...@apache.org> on 2015/10/08 16:35:26 UTC

[jira] [Resolved] (SLING-5131) Introduce ConsistencyService to discovery.commons

     [ https://issues.apache.org/jira/browse/SLING-5131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stefan Egli resolved SLING-5131.
--------------------------------
    Resolution: Fixed

introduced in http://svn.apache.org/viewvc?rev=1707548&view=rev 
there are two flavours of ConsistencyService:
* SyncTokenConsistencyService : this one stores the view's syncId to {{/var/discovery/commons/synctokens}} and waits for seeing the sync tokens of all others in the view
* OakSyncTokenConsistencyService : this one uses SyncTokenConsistencyService and additionally waits until oak is 'backlog free' - by making use of OAK-2844 / the discovery lite descriptor. in order to map discovery-lite ids to slingIds it stores a map to {{/var/discovery/commons/idmap}}

> Introduce ConsistencyService to discovery.commons
> -------------------------------------------------
>
>                 Key: SLING-5131
>                 URL: https://issues.apache.org/jira/browse/SLING-5131
>             Project: Sling
>          Issue Type: New Feature
>          Components: Extensions
>            Reporter: Stefan Egli
>            Assignee: Stefan Egli
>             Fix For: Discovery Commons 1.0.0
>
>
> As described [in SLING-4627|https://issues.apache.org/jira/browse/SLING-4627?focusedCommentId=14532334&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14532334] doing any kind of discovery implementation on top of an eventually consistent repository requires synchronization with this very repository in order to ensure all events of an old incarnation of a view are processed before a new incarnation of a view is announced to everybody. Thus a cluster-wide synchronization is required.
> Such a synchronization can be achieved fairly straight-forward by storing a well-defined 'sync token' into a location which is known to everybody else in the cluster - and having everybody wait for seeing this token before continuing.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)