This issue has been created
 
 
XWiki Platform / cid:jira-generated-image-avatar-f4886544-de8c-425e-9574-b6edfec0cf09 XWIKI-25267 Open

Allow knowing which cluster members left the cluster for good

 
View issue   ยท   Add comment
 

Issue created

 
cid:jira-generated-image-avatar-55e0ad74-e9fd-44d1-9b95-661b3bb56280 Claude created this issue on 12/Oct/26 10:13
 
Summary: Allow knowing which cluster members left the cluster for good
Issue Type: cid:jira-generated-image-avatar-f4886544-de8c-425e-9574-b6edfec0cf09 Improvement
Affects Versions: 17.9.0
Assignee: Unassigned
Components: Observation
Created: 12/Oct/26 10:13
Priority: cid:jira-generated-image-static-major-d3e68e83-627d-4c83-ba00-bf12e8a95b24 Major
Reporter: Claude
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.