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 2021/06/15 15:09:00 UTC

[jira] [Created] (SLING-10489) Suppress partially started, newly joining instances from disturbing discovery (for a while)

Stefan Egli created SLING-10489:
-----------------------------------

             Summary: Suppress partially started, newly joining instances from disturbing discovery (for a while)
                 Key: SLING-10489
                 URL: https://issues.apache.org/jira/browse/SLING-10489
             Project: Sling
          Issue Type: Task
          Components: Discovery
    Affects Versions: Discovery Oak 1.2.34
            Reporter: Stefan Egli
            Assignee: Stefan Egli
             Fix For: Discovery Oak 1.2.36


Discovery.oak requires that both Oak and Sling are operating normally in order to declare victory and announce a new topology.

The startup phase is especially tricky in this regard, since there are multiple elements that need to get updated  (some are in the Oak layer, some in Sling) :

* lease & clusterNodeId : this is maintained by Oak
* idMap : this is maintained by IdMapService (Sling)
* leaderElectionId : this is maintained by OakViewChecker (Sling)
* syncToken : this is maintained by SyncTokenService (Sling)

Situations have seen where Oak is startup up fine, but higher level (eg Sling) bundles were not activated within a reasonable amount of time. This lead to discovery staying in TOPOLOGY_CHANGING state for longer than expected.

There should be a mechanism that ignores (suppresses) newly joining instances if they start up only partially. However, after a certain timeout this mechanism should give up.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)