-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
docs(specs): Add specification for output buffer persistence strategy #14928
Conversation
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.
Thanks @DStrand1 for the nice write-up!
Please change the filename to tsd-005
as we do still have two old, not-yet-public specs to do (on my list). This way we can keep chronological order.
Can we please also specify what happens in case of errors for disk write, e.g. permissions denied or disk full?
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.
Thank you for putting this together! Some questions from side as well.
## Is/Is-not | ||
- Is a way to increase the durability of metrics and reduce the potential | ||
for metrics to be dropped due to a full in-memory buffer | ||
- Is not a way to guarantee data safety in the event of a crash or system failure |
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.
Excuse me if I am imposing on an internal review, saw the ping over at #802
The write-through feature seems to be able to support improved data safety in cases of crash or system failures as far as I have read about it above. Is the emphasis here on "guarantee"? E.g in that no guarantees provided, but a design goal of the feature is to improve data safety in these cases too?
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.
The goal of this spec is not to ensure data safety, but to not drop metrics when the memory buffer fills. Inherently this will improve data safety, especially with write-through
, though this is not the goal of this spec and as such cannot be completely guaranteed
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.
Nice!
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.
Thank you!
Summary
Add specification for Telegraf's behavior on persisting output buffer metrics to disk
Checklist
Related issues
Related to #802 and #14805