-
Notifications
You must be signed in to change notification settings - Fork 832
Store-gateway shuffle sharding #3069
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
Store-gateway shuffle sharding #3069
Conversation
544d490
to
8d9fde7
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.
LGTM. Took me a while to understand why we're faking Iter
response to be empty, if user is not included, but I believe it is to make BucketStore
to unload blocks for such user. I wonder if we should just drop such BucketStore
completely (after discovering that it has no blocks anymore)? Or would that complicate it even more (logic here is already quite complex).
8d9fde7
to
e55371c
Compare
Correct. There's no other way to unload blocks from BucketStore as of today (we could do it, but see below).
Let's say we add a way to Technically it's doable, but I'm just wondering if it's worth the effort (will the final code be cleaner?). |
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.
LGTM overall just a nit on what looks like a comment typo.
Signed-off-by: Marco Pracucci <[email protected]>
Signed-off-by: Marco Pracucci <[email protected]>
Signed-off-by: Marco Pracucci <[email protected]>
e55371c
to
2585102
Compare
What this PR does:
In this PR I'm introducing shuffle sharding support to the store-gateway blocks sharding. The idea is that, when sharding is enabled, you can switch between the default sharding or shuffle sharding. When using shuffle sharding, each store-gateway is eligible to sync/load blocks for a subset of tenants.
Notes:
sharding_strategy
as string instead of a boolean, to keep the config more generic and open to future additional strategiesOut of the scope of this PR:
Which issue(s) this PR fixes:
N/A
Checklist
CHANGELOG.md
updated - the order of entries should be[CHANGE]
,[FEATURE]
,[ENHANCEMENT]
,[BUGFIX]