Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[filebeat][gcs] Fix for concurrency issues and context timeouts in the GCS input #35605
[filebeat][gcs] Fix for concurrency issues and context timeouts in the GCS input #35605
Changes from 5 commits
6a95dc4
95a36c4
f174308
a03eeae
0e94d56
a7f1e11
af2b1a0
8516769
17b05d9
cdf54ca
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are the assumptions that you are making about the published state of the event after
Publish
returns? I see this comment about it being "saved and published" and that's not correct. So if that is important to your implementation you'll need changes.When
Publish
returns the event has been queued internally. It will have undergone processing via Beats processors then put onto the queue. If it needs to know when the event has been accepted by the destination output then you can register andEventListener
to get a callback.beats/libbeat/beat/pipeline.go
Lines 60 to 61 in 327b5fe
As an example, the GCP pub/sub input uses an
EventListener
to defer ACK'ing the pubsub message until the event has been written to ES.beats/x-pack/filebeat/input/gcppubsub/input.go
Lines 117 to 121 in 78dc664
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@andrewkroh thanks for the feedback, I will revisit this when I do some planned feature enhancements for the gcs input in the near future, will have to separate out the cursor publish from the event publish to properly implement this feature. For now I'm merging then PR since it's related to an sdh.