-
Notifications
You must be signed in to change notification settings - Fork 833
Series limit for TSDB blocks based ingester #2676
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
Series limit for TSDB blocks based ingester #2676
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 @codesome for working on this! A part from the feedback left on #2674 I would be glad to see these changes covered by tests. Could you check out any existing test on limits (we should have something for chunks storage) and replicate them for the blocks storage too, please? Copying these tests (instead of trying to reuse them) is fine to me.
Signed-off-by: Ganesh Vernekar <[email protected]>
Signed-off-by: Ganesh Vernekar <[email protected]>
Signed-off-by: Ganesh Vernekar <[email protected]>
339936b
to
b934641
Compare
Signed-off-by: Ganesh Vernekar <[email protected]>
b934641
to
5c0071a
Compare
This PR is now ready for review. I was able to re-use the existing tests to add case for the ingester v2. I need help in deciding the desired action for metric name limit when there is no metric name in a series. |
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.
Great job! Thank you Ganesh!
Signed-off-by: Ganesh Vernekar <[email protected]>
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.
Good job! I left few nits, but overall looks good. I'm now going to review tests and do some manual tests.
…its-temp Signed-off-by: Ganesh Vernekar <[email protected]>
9db2385
to
6ff8418
Compare
175ee35
to
0a3a9db
Compare
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 Ganesh to address my comments! I've also done some manual tests locally and worked fine. I tested both per-user and per-metric limit and made sure that counters get correctly decremented when head is compacted.
Would mind doing a simple function renaming for clarity, please? I would rename:
seriesAddedFor()
>increaseSeriesForMetric()
removeMetricName()
>decreaseSeriesForMetric()
Also, if I remember correctly the changes in TSDB, callback doesn't guarantee atomicity. If this is correct, we should improve a bit removeMetricName()
and handle the case shard.m[metricName]
does not exist?
Discussed offline. Not an issue. |
Signed-off-by: Ganesh Vernekar <[email protected]>
0a3a9db
to
f491c7b
Compare
What this PR does:
Adds series limit for TSDB blocks based ingester. Requires #2674
TODO
app.Add
andapp.AddFast
is called - consider them to be soft errorsCHANGELOG.md