[
https://issues.apache.org/jira/browse/SLING-5251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stefan Egli resolved SLING-5251.
--------------------------------
Resolution: Fixed
rev 1713675:
bq. adding debug infos to the topology webconsole re the SyncTokenService
History
thus considering this done.
> discovery.impl should use SyncTokenService (configurable)
> ---------------------------------------------------------
>
> Key: SLING-5251
> URL: https://issues.apache.org/jira/browse/SLING-5251
> Project: Sling
> Issue Type: Improvement
> Components: Extensions
> Affects Versions: Discovery Impl 1.2.0
> Reporter: Stefan Egli
> Assignee: Stefan Egli
> Fix For: Discovery Impl 1.2.2
>
>
> The SyncTokenService introduced with discovery.commons allows discovery
> implementors to add additional QoS to a TOPOLOGY_CHANGED event by waiting for
> each instance to store a 'sync token' (eg cluster *view* id, not cluster id)
> into the repository. The algorithm in detail:
> * upon detecting a topology change happening, each instance sends out
> TOPOLOGY_CHANGING to its listeners
> * *after* that is done, it stores a syncToken to a well-known place into the
> repository
> * thus when a particular instance sees all syncTokens by the peers, it knows
> that all listeners have now gotten the TOPOLOGY_CHANGING event - and that
> provides a strong synchronization guarantee.
> This mechanism is already in-use by default in discovery.oak (which
> additionally also ensures no instance has any backlog with the repository -
> which it can do as it requires oak and oak provides this info in the
> discovery-lite descriptor).
> Now for discovery.impl such a 'strong cluster synchronization' guarantee is
> not that relevant as it might look. Since discovery.impl already uses the
> repository (and thus its delays) for voting and creating the establishedView.
> But at the moment there is no guarantee that the voting happens *after* the
> TOPOLOGY_CHANGING was processed by all listeners. It's just rather unlikely
> that sending the TOPOLOGY_CHANGING (which is all local) is slower than the
> voting (which is going through repository delays).
> Nevertheless, using the SyncTokenService would provide mentioned strong
> cluster synchronization guarantee and _discovery.impl could just as well make
> use of it_.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)