-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Specification
Unattended Discovery was implemented in #320, however, nodes/identities that have been previously discovered are currently stored in a set of visitedVertices and cannot be re-added to the queue for discovery. While we don't want to add these vertices back into the queue immediately, we need to design some sort of policy for revisiting these vertices when the discovery queue is empty (and/or after a certain amount of time has passed), so that new claims are reflected in the Gestalt Graph for existing Gestalts. This could potentially be achieved by adding TTLs or a lastVisited tag to vertices.
Note that, since child vertices are added into the queue during discovery, only one vertex (either a node or identity) per Gestalt needs to be added back into the queue for rediscovery.
Additional context
- Original PR for Unattended Discovery: Growing the Gestalt Graph and Implementing Social Discovery #320
- Issue for incorporating a system of priority into the queue (vertices queued for rediscovery should have the lowest priority): Generic Non-Blocking Task Management ("Queue") for discovery and nodes domains #329
Tasks
- Add TTLs or a
lastVisitedtag to gestalt vertices - Design a policy for revisiting vertices - this should consider the current length of the queue, the vertices currently in the queue, and the amount of time since a given vertex was in the queue