-
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
restarting prior to clean_inactive threshold breach results in errors: ERR State for ****** should have been dropped #2818
Comments
We're also seeing this, after upgrading from 1.2 to 5.0-beta, with an inconsistent registry file. |
I managed to create a test to reproduce this. Step |
Filebeat sets all states by default to Finished: false. On loading states during restart from the registry file, all prospector states are set to Finished: true on setup. These initial updates were not propagated to the registry file which had the effect, that the registry file was having a states with Finished: false until an update came from the prospector. This is now changed in the way that on Init each prospector sends an update to the registry for all states read. To be on the save side for the TTL which could have experied during a restart or that the clean_* config option was changed during restart, the TTL is reset and only overwritten afterwards again in updateState of the propsector before sending the event. Closes elastic#2818
Filebeat sets all states by default to Finished: false. On loading states during restart from the registry file, all prospector states are set to Finished: true on setup. These initial updates were not propagated to the registry file which had the effect, that the registry file was having a states with Finished: false until an update came from the prospector. This is now changed in the way that on Init each prospector sends an update to the registry for all states read. To be on the save side for the TTL which could have experied during a restart or that the clean_* config option was changed during restart, the TTL is reset and only overwritten afterwards again in updateState of the propsector before sending the event. Closes elastic#2818 (cherry picked from commit 336c189)
…art (#2832) Filebeat sets all states by default to Finished: false. On loading states during restart from the registry file, all prospector states are set to Finished: true on setup. These initial updates were not propagated to the registry file which had the effect, that the registry file was having a states with Finished: false until an update came from the prospector. This is now changed in the way that on Init each prospector sends an update to the registry for all states read. To be on the save side for the TTL which could have experied during a restart or that the clean_* config option was changed during restart, the TTL is reset and only overwritten afterwards again in updateState of the propsector before sending the event. Closes #2818 (cherry picked from commit 336c189)
…art (#2830) Filebeat sets all states by default to Finished: false. On loading states during restart from the registry file, all prospector states are set to Finished: true on setup. These initial updates were not propagated to the registry file which had the effect, that the registry file was having a states with Finished: false until an update came from the prospector. This is now changed in the way that on Init each prospector sends an update to the registry for all states read. To be on the save side for the TTL which could have experied during a restart or that the clean_* config option was changed during restart, the TTL is reset and only overwritten afterwards again in updateState of the propsector before sending the event. Closes #2818
@ruflin any chance for a |
@alexef You can try out the nightly builds here: https://beats-nightlies.s3.amazonaws.com/index.html?prefix=filebeat/ They are almost identical to the 5.0 release. |
For the 5.0 builds:
|
The elastic#2818 fix actually got in 5.0.0, so move the changelog entry around.
The #2818 fix actually got in 5.0.0, so move the changelog entry around.
…art (elastic#2832) Filebeat sets all states by default to Finished: false. On loading states during restart from the registry file, all prospector states are set to Finished: true on setup. These initial updates were not propagated to the registry file which had the effect, that the registry file was having a states with Finished: false until an update came from the prospector. This is now changed in the way that on Init each prospector sends an update to the registry for all states read. To be on the save side for the TTL which could have experied during a restart or that the clean_* config option was changed during restart, the TTL is reset and only overwritten afterwards again in updateState of the propsector before sending the event. Closes elastic#2818 (cherry picked from commit 336c189)
The elastic#2818 fix actually got in 5.0.0, so move the changelog entry around.
Please post all questions and issues on https://discuss.elastic.co/c/beats
before opening a Github Issue. Your questions will reach a wider audience there,
and if we confirm that there is a bug, then you can open a new issue.
For confirmed bugs, please report:
A. populate this data(or something else, presumably) into some files :
My files were like this, and the timestamp of course changed to current time for filebeat_test_1.log - filebeat_test_3.log.
B. Process these files with filebeat using a yml similar to this(change the paths):
C. Wait a bit, until you see we've still got state, but have breached ignore_older. Like these lines:
D. Stop filebeat
E. Add a new file like filebeat_test_4.log, same as 1-3.
F. Start filebeat, and on startup in the log, we should see:
It doesn't seem to stop any data from flowing or do anything other than generating this message, but should probably be corrected.
The text was updated successfully, but these errors were encountered: