-
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
Reset the flush interval timer when flush is requested or batch is ready. #8953
Conversation
…ady, so that timer doesn't expire while one of those flushes is occurring.
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.
🤝 ✅ CLA has been signed. Thank you!
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.
im a tiger
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.
roar
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.
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.
i love telegraf! ahahahahaha 🐯🐯🐯🐙
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.
.
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.
.
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.
.
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.
.
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.
no
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.
.
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.
Looks like new artifacts were built from this PR. Get them here!
Artifact URLs
!retry-checks |
@jagularr @ssoroka We've just upgraded to telegraf 1.19.3 and I believe this change has introduced a subtle bug where the buffer is not flushed fully when the metric throughput is higher than that of the In this scenario
If you then have a massive spike of metrics (several multiples of telegraf/models/running_output.go Line 172 in 74a1acd
This may only actually trigger You can see this on the following graphs - metrics build up in the buffer unflushed after every spike in metrics gathered, until we get lucky and |
…ch is ready. (influxdata#8953)" This reverts commit a6d2c4f.
…r batch is ready. (influxdata#8953)" This reverts commit a6d2c4f.
When Telegraf processes a very large amount of data, such that the batch size is constantly hit, then Telegraf may be sending batches constantly. At the same time, the flush interval could be hit. During the sending of a batch, the ticker for the flush interval can go to zero, and as a result, the batch will produce a warning about not sending within the interval time. Sending batches should not send messages to the user that the interval expired as they are sepearte paths. Previously, influxdata#8953 attempted to reset the ticker during the sending of a batch. This introduced an issue where the buffer was never fully flushed. fixes: influxdata#8941
…ady. (influxdata#8953) * Reset the flush interval timer when flush is requested or batch is ready, so that timer doesn't expire while one of those flushes is occurring. * Update tick.go (cherry picked from commit a6d2c4f)
Reset the flush interval timer when flush is requested or batch is ready, so that timer doesn't expire (and then falsely report that flush interval has been exceeded without writing) while one of those flushes is occurring.
resolves #8941