Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-25267

Allow knowing which cluster members left the cluster for good

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Unresolved
    • Major
    • None
    • 17.9.0
    • Observation
    • None
    • Unknown

    Description

      Context

      In a cluster, some work is attached to the identifier of the member that produced it (observation.remote.id) and is only handled by that member, for example the dispatching of the events it produced to the users, or its link and mention analysis tasks. When a member never comes back with the same identifier (a cluster scaled down, a member replaced by a new one with another identifier, a lost permanent directory), nothing tells the other members that this work will never be handled.

      A member can't tell from the network alone whether another member is restarting or gone for good, so the decision needs a delay.

      Proposal

      • A new component which tells whether a member identifier is absent from the cluster for longer than a delay, measured in memory by each member from the moment it sees the identifier leave (or is asked about an identifier found in stored data), and a local event notified when that happens.
      • New properties observation.remote.reclaimDelay (seconds, default 900, negative to disable) and observation.remote.reclaimMaxAge (seconds, default 86400: work older than this before the departure is not taken over).
      • Nothing changes when remote observation is disabled. Nothing is persisted and no message is added between the members.

      The consumers (events dispatching, analysis tasks) are handled in separate issues and run on the cluster singleton node only.

      Attachments

        Issue Links

          Activity

            People

              ciaens Clément Christiaens
              ciaens Clément Christiaens
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated: