Details
-
Improvement
-
Resolution: Unresolved
-
Major
-
None
-
17.9.0
-
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
- blocks
-
XWIKI-25268 Link and mention analysis tasks queued by a cluster member that never comes back are never executed
-
- Open
-
-
XWIKI-25270 Notifications of events produced by a cluster member that never comes back are never sent
-
- Open
-
- depends on
-
XWIKI-25245 NetworkMemberLeftEvent carries the wrong member and the JGroups member id map never shrinks
-
- Open
-
-
XWIKI-25253 Allow knowing which cluster member must run the tasks executed only once in the cluster
-
- Open
-
- is related to
-
XWIKI-23521 Allow accessing the list of cluster members
-
- Closed
-