tsdb: zero out Labels and memSeries pointers in pool#13712
Merged
beorn7 merged 3 commits intoprometheus:mainfrom Mar 6, 2024
Merged
tsdb: zero out Labels and memSeries pointers in pool#13712beorn7 merged 3 commits intoprometheus:mainfrom
beorn7 merged 3 commits intoprometheus:mainfrom
Conversation
e4a4135 to
df456ca
Compare
So that the garbage-collector doesn't see this memory as still in use. Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
df456ca to
f68a4ce
Compare
beorn7
approved these changes
Mar 6, 2024
Member
beorn7
left a comment
There was a problem hiding this comment.
I'll fix my nits myself here in the PR.
Signed-off-by: Björn Rabenstein <github@rabenste.in>
Signed-off-by: Björn Rabenstein <github@rabenste.in>
2 tasks
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
So that the garbage-collector doesn't see this memory as still in use.
To explain a little further, the block of memory in the pool will be seen as a zero-length slice when used, but it might have previously contained 10,000 series. Unless we zero out those pointers, or re-use that block for a new scrape of length 10,000, they will all continue to be seen as valid references by the garbage-collector.
This is more noticeable when using
-tags dedupelabels, but still relevant before.