x-pack/filebeat/input/streaming: fix crowdstrike cursor handling#44548
x-pack/filebeat/input/streaming: fix crowdstrike cursor handling#44548efd6 merged 3 commits intoelastic:mainfrom
Conversation
🤖 GitHub commentsExpand to view the GitHub comments
Just comment with:
|
c717bfa to
1f5b338
Compare
|
This pull request is now in conflicts. Could you fix it? 🙏 |
1f5b338 to
32eaf5c
Compare
|
This pull request is now in conflicts. Could you fix it? 🙏 |
3888c60 to
0d534c1
Compare
|
Pinging @elastic/security-service-integrations (Team:Security-Service Integrations) |
|
This pull request is now in conflicts. Could you fix it? 🙏 |
8554d3b to
4674bdc
Compare
|
This pull request is now in conflicts. Could you fix it? 🙏 |
4674bdc to
e05f7de
Compare
|
This pull request is now in conflicts. Could you fix it? 🙏 |
When the follower is given a non-singular set of resource descriptions, it incorrectly uses the offset obtained from the registry across all of the resources, and each of those resources' work loops writes their cursor updates to the same (incorrectly) shared offset. This results in cursor offset confusion. The fix here is to retain cursors for each of the resources, keyed on the dataFeedURL for each resource.
Previously we were mutating the name to include the query; keep the URL and use the retained version for the feed name. Otherwise we have unbounded dead feed cursors stored.
e05f7de to
fcdc64a
Compare
) When the follower is given a non-singular set of resource descriptions, it incorrectly uses the offset obtained from the registry across all of the resources, and each of those resources' work loops writes their cursor updates to the same (incorrectly) shared offset. This results in cursor offset confusion. The fix here is to retain cursors for each of the resources, keyed on the dataFeedURL for each resource. (cherry picked from commit cdf2355) # Conflicts: # x-pack/filebeat/docs/inputs/input-streaming.asciidoc
) When the follower is given a non-singular set of resource descriptions, it incorrectly uses the offset obtained from the registry across all of the resources, and each of those resources' work loops writes their cursor updates to the same (incorrectly) shared offset. This results in cursor offset confusion. The fix here is to retain cursors for each of the resources, keyed on the dataFeedURL for each resource. (cherry picked from commit cdf2355) # Conflicts: # x-pack/filebeat/docs/inputs/input-streaming.asciidoc
) When the follower is given a non-singular set of resource descriptions, it incorrectly uses the offset obtained from the registry across all of the resources, and each of those resources' work loops writes their cursor updates to the same (incorrectly) shared offset. This results in cursor offset confusion. The fix here is to retain cursors for each of the resources, keyed on the dataFeedURL for each resource. (cherry picked from commit cdf2355)
elastic/beats#44548 added support for multi-resource stream. This updates the CEL program that processes the events provided by the stream so that it is able to handle the new cursor structure. It is able to distinguish old agents from the new multi-resource aware agents by the presence of the feed field in state. When the agent is upgrade from the old state form to the new form, it is expected that the integration will recollect the existing data since the cursors are not compatible with each other.
elastic/beats#44548 added support for multi-resource stream. This updates the CEL program that processes the events provided by the stream so that it is able to handle the new cursor structure. It is able to distinguish old agents from the new multi-resource aware agents by the presence of the feed field in state. When the agent is upgrade from the old state form to the new form, it is expected that the integration will recollect the existing data since the cursors are not compatible with each other.
) (#44768) When the follower is given a non-singular set of resource descriptions, it incorrectly uses the offset obtained from the registry across all of the resources, and each of those resources' work loops writes their cursor updates to the same (incorrectly) shared offset. This results in cursor offset confusion. The fix here is to retain cursors for each of the resources, keyed on the dataFeedURL for each resource. (cherry picked from commit cdf2355) Co-authored-by: Dan Kortschak <dan.kortschak@elastic.co>
…ike cursor handling (#44767) * x-pack/filebeat/input/streaming: fix crowdstrike cursor handling (#44548) When the follower is given a non-singular set of resource descriptions, it incorrectly uses the offset obtained from the registry across all of the resources, and each of those resources' work loops writes their cursor updates to the same (incorrectly) shared offset. This results in cursor offset confusion. The fix here is to retain cursors for each of the resources, keyed on the dataFeedURL for each resource. (cherry picked from commit cdf2355) # Conflicts: # x-pack/filebeat/docs/inputs/input-streaming.asciidoc * revert doc change for conflict resolution * reapply doc change to resolve conflict --------- Co-authored-by: Dan Kortschak <dan.kortschak@elastic.co>
…ike cursor handling (#44766) * x-pack/filebeat/input/streaming: fix crowdstrike cursor handling (#44548) When the follower is given a non-singular set of resource descriptions, it incorrectly uses the offset obtained from the registry across all of the resources, and each of those resources' work loops writes their cursor updates to the same (incorrectly) shared offset. This results in cursor offset confusion. The fix here is to retain cursors for each of the resources, keyed on the dataFeedURL for each resource. (cherry picked from commit cdf2355) # Conflicts: # x-pack/filebeat/docs/inputs/input-streaming.asciidoc * revert doc change for conflict resolution * reapply doc change to resolve conflict --------- Co-authored-by: Dan Kortschak <dan.kortschak@elastic.co>
elastic/beats#44548 added support for multi-resource stream. This updates the CEL program that processes the events provided by the stream so that it is able to handle the new cursor structure. It is able to distinguish old agents from the new multi-resource aware agents by the presence of the feed field in state. When the agent is upgrade from the old state form to the new form, it is expected that the integration will recollect the existing data since the cursors are not compatible with each other.
Proposed commit message
Checklist
CHANGELOG.next.asciidocorCHANGELOG-developer.next.asciidoc.Disruptive User Impact
Author's Checklist
How to test this PR locally
Related issues
Use cases
Screenshots
Logs