-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Cherry-pick #19518, #19528, #19529, #19530, #19571, #19573 to 7.x: Implement storage handling for cursor inputs #19732
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This change provide the store implementation that is used by the cursor input to track ephemeral and persistent state. The full list of changes will include: - Introduce v2 API interfaces - Introduce [compatibility layer](https://github.com/urso/beats/tree/fb-input-v2-combined/filebeat/input/v2/compat) to integrate API with existing functionality - Introduce helpers for writing [stateless](https://github.com/urso/beats/blob/fb-input-v2-combined/filebeat/input/v2/input-stateless/stateless.go) inputs. - Introduce helpers for writing [inputs that store a state](https://github.com/urso/beats/tree/fb-input-v2-combined/filebeat/input/v2/input-cursor) between restarts. - Integrate new API with [existing inputs and modules](https://github.com/urso/beats/blob/fb-input-v2-combined/filebeat/beater/filebeat.go#L301) in filebeat. (cherry picked from commit 0800ab1)
urso
added
[zube]: In Review
backport
Team:Services
(Deprecated) Label for the former Integrations-Services team
labels
Jul 8, 2020
botelastic
bot
added
the
needs_team
Indicates that the issue/PR needs a Team:* label
label
Jul 8, 2020
Pinging @elastic/integrations-services (Team:Services) |
botelastic
bot
removed
the
needs_team
Indicates that the issue/PR needs a Team:* label
label
Jul 8, 2020
The change provides the collection and deletion support for old states. All entries added to the store have a TTL configured. A key-value pair will be removed from the store once the most recent update timestamp + TTL < now. Pairs with pending updates will not be deleted yet. The collector currently only implements the logic for the clean_inactive setting. In comparison to the old registar, is the TTL not reset on startup. Old entries are still subject to collection, even if they've not been claimed. The TTL will be updated by the InputManager if an input with a different TTL is started for an already seen source.
Stateful inputs can access the current state via the Cursor type. This change adds unit tests to ensure that the cursor correctly interacts with the ephemeral and persistent stores.
Add the publisher implementation and unit tests for statefull inputs. The tests check that the publisher correctly updates the ephemeral store and prepare the update operation for the persistent store, that will be applied to the store after it has been ACKed.
This change finally implements the input manager and actual input execution for stateful inputs.
Add tests for the stateful input manager and inputs.
urso
changed the title
Cherry-pick #19518 to 7.x: Implement storage handling for cursor inputs
Cherry-pick #19518. #19528, #15929, #15930, to 7.x: Implement storage handling for cursor inputs
Jul 8, 2020
urso
changed the title
Cherry-pick #19518. #19528, #15929, #15930, to 7.x: Implement storage handling for cursor inputs
Cherry-pick #19518. #19528, #15929, #15930, #15971, #15973 to 7.x: Implement storage handling for cursor inputs
Jul 8, 2020
urso
changed the title
Cherry-pick #19518. #19528, #15929, #15930, #15971, #15973 to 7.x: Implement storage handling for cursor inputs
Cherry-pick #19518, #19528, #15929, #15930, #15971, #15973 to 7.x: Implement storage handling for cursor inputs
Jul 8, 2020
❕ Build Aborted
Expand to view the summary
Build stats
Log outputExpand to view the last 100 lines of log output
|
urso
changed the title
Cherry-pick #19518, #19528, #15929, #15930, #15971, #15973 to 7.x: Implement storage handling for cursor inputs
Cherry-pick #19518, #19528, #19529, #19530, #19571, #19573 to 7.x: Implement storage handling for cursor inputs
Jul 8, 2020
kvch
approved these changes
Jul 8, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
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.
Cherry-pick of PR #19518, #19528, #19529, #19530, #19571, #19573 to 7.x branch. Original message:
What does this PR do?
This change provide the store implementation that is used by the cursor
input to track ephemeral and persistent state.
The full list of changes will include:
Why is it important?
Implement support for statefull inputs.
Checklist
- [ ] I have made corresponding changes to the documentation~~- [ ] I have made corresponding change to the default configuration files~~~~
- [ ] I have added an entry inCHANGELOG.next.asciidoc
orCHANGELOG-developer.next.asciidoc
.How to test this PR locally
go test
Related issues