This repository has been archived by the owner on Sep 21, 2023. It is now read-only.
Correctly handle enqueued events affected by agent policy changes #49
Closed
Labels
8.6-candidate
estimation:Month
Task that represents a month of work.
Team:Elastic-Agent-Data-Plane
Label for the Agent Data Plane team
v8.6.0
We need to think through all the edge cases that can arise when events in the shipper queue are affected by an agent policy change. For a concrete example, consider the case where a user removes an integration but events collected by that integration still reside in the shipper queue:
In the case above the events for the removed integration B will never be able to be ingested by Elasticsearch after the API key has been changed. This series of events is worse with the disk queue because the number of events can be larger, but this situation would apply to the memory queue as well.
We must also consider that every policy change does not necessarily cause a problem. For example, changing the number of output workers does not affect events in the queue.
For policy changes that do affect enqueued events, there are several paths forward we could take to solve this problem:
Option 2 avoids data loss, but is the most complex path forward. There are multiple ways we could ensure all events affected by a policy change are drained from the shipper queue before acknowledging the policy change:
This is a complex issue with many possible solutions. Evaluate each of the proposed solutions (and consider new ones) to decide which path we should take to solve this issue. The outcome of this issue should be a meta issue with an implementation plan for solving this problem.
The text was updated successfully, but these errors were encountered: