Report a shard served with fewer replicas than its table asks for - #506
Open
bjmeetsfo wants to merge 2 commits into
Open
Report a shard served with fewer replicas than its table asks for#506bjmeetsfo wants to merge 2 commits into
bjmeetsfo wants to merge 2 commits into
Conversation
Placement is worked out per request: a topology answer names whatever servers could be found for each shard. When there are not enough -- too few live ones, or none the separation rules will accept -- the answer is simply shorter, and the caller uses it. Nothing counted that. A table configured for three replicas can be served with one indefinitely, and the only place it shows is a client noticing it was handed fewer endpoints than it asked for. There is a readiness field called under_replicated_repair_ready and it is a hardcoded true; nothing measured the thing it is named after. temporalstore_meta_placement_short_total counts the shards each answer could not fill, and temporalstore_meta_placement_short is what the last answer was short of. Counted where the answer is built, because placement happens per request and no background round would otherwise notice. A shard with no primary is out of service deliberately -- frozen, or its owner not serving -- so it is not counted as short. It is stopped, not under-replicated. Test: one server, a table asking for three replicas, two shards. Both are served with one replica and both are reported; a second answer moves the total and leaves the gauge where it was.
# Conflicts: # crates/temporalstore-rust/src/meta.rs
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.
Placement is worked out per request: a topology answer names whatever
servers could be found for each shard. When there are not enough -- too few
live ones, or none the separation rules will accept -- the answer is simply
shorter, and the caller uses it.
Nothing counted that. A table configured for three replicas can be served
with one indefinitely, and the only place it shows is a client noticing it
was handed fewer endpoints than it asked for. There is a readiness field
called under_replicated_repair_ready and it is a hardcoded true; nothing
measured the thing it is named after.
temporalstore_meta_placement_short_total counts the shards each answer could
not fill, and temporalstore_meta_placement_short is what the last answer was
short of. Counted where the answer is built, because placement happens per
request and no background round would otherwise notice.
A shard with no primary is out of service deliberately -- frozen, or its
owner not serving -- so it is not counted as short. It is stopped, not
under-replicated.
Test: one server, a table asking for three replicas, two shards. Both are
served with one replica and both are reported; a second answer moves the
total and leaves the gauge where it was.