Stefan Egli created SLING-5216:
----------------------------------

             Summary: Concurrent creation of voting can lead to continuous 
re-voting
                 Key: SLING-5216
                 URL: https://issues.apache.org/jira/browse/SLING-5216
             Project: Sling
          Issue Type: Bug
          Components: Extensions
    Affects Versions: Discovery Impl 1.0.2
            Reporter: Stefan Egli
            Assignee: Stefan Egli
            Priority: Blocker
             Fix For: Discovery Impl 1.2.0


This is a regression of SLING-3195:

With SLING-3195 the cluster view id was redefined from being a unique 
per-voting/per view-incarnation id to being a stable, persisted, permanent 
cluster Id (see [in 
View.java|https://github.com/apache/sling/blob/bac2a2bf4c3ccdf6fa13866ffe6930c20b0230d6/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/View.java#L96]).
 This was achieving the goal of exposing a stable view id for users of the 
discovery API. 

However, it introduced a regression in that this same {{getViewId()}} was also 
used during voting when multiple votings happened simultaneously, to agree on 
the lowest such 'view incarnation id'. With the change to making this viewId 
the stable one though, and not adjusting its usage in this 
multiple-votings-sorting, this sorting became broken. Basically now when 
multiple votings happen simultaneously, then it can be that the participating 
instances sort differently and don't agree on one vote. Resulting in the 
{{HeartbeatHandler}} to come to the conclusion that there is no winner (as 
there should only be 1), and start a fresh vote. Resulting in repeated new 
votings being created.



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

Reply via email to