-
Notifications
You must be signed in to change notification settings - Fork 3.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
Bug fixes #7024
Conversation
If a delete is issued while a compaction is running, the a newly deleted series could re-appear after the compaction completed. This could occur the compaction had already written the blocks for series that were just deleted. When the compaction completes, the newly written tombstone files would be deleted, essentially undeleting the series.
Too verbose
A slower disk can can cause excessive allocations to occur when writing to the WAL because the slower encoding and compression occurs before taking the write lock. The encoding/compression grabs a large byte slice from a pool and ultimately waits until it can acquire the write lock. This adds a throttle to limit how many inflight WAL writes can be queued up to prevent OOMing the processess with slower disks and heavy writes.
@@ -179,8 +177,6 @@ func (e *Engine) SetCompactionsEnabled(enabled bool) { | |||
|
|||
// Wait for compaction goroutines to exit | |||
e.wg.Wait() | |||
|
|||
e.logger.Printf("compactions disabled for: %v", e.path) |
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.
Shall I add these back in when I get the trace logger comments done, and the PR merged?
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.
Trace logging for these would be good. Too verbose for regular logger though.
Just the nit about the package name, otherwise LGTM 👍 |
Required for all non-trivial PRs
This PR fixes a few bugs related to writes and deletes: