-
Notifications
You must be signed in to change notification settings - Fork 812
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
Ensure queries return correctly during rolling upgrades of stateful cluster with RF 3 and only 3 nodes. #2503
Conversation
This is to teast out errors in the replication logic. Signed-off-by: Tom Wilkie <[email protected]>
Signed-off-by: Tom Wilkie <[email protected]>
…RF=3 and #ingesters=2. Signed-off-by: Tom Wilkie <[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.
Wow tricky bug, but the fix makes sense! Thanks for adding the test!
Signed-off-by: Tom Wilkie <[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.
The ring changes LGTM. Due to the change in the distributor tests prepare()
we need to also fix the tests TestDistributor_PushIngestionRateLimiter
, TestDistributor_Push_LabelRemoval
, TestDistributor_Push_ShouldGuaranteeShardingTokenConsistencyOverTheTime
. I've also left a couple of comments in the code.
Signed-off-by: Tom Wilkie <[email protected]>
Signed-off-by: Tom Wilkie <[email protected]>
Signed-off-by: Tom Wilkie <[email protected]>
Signed-off-by: Tom Wilkie <[email protected]>
…eding when it shouldn't Signed-off-by: Tom Wilkie <[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.
LGTM, I added a minor suggestion but it's not consequential at all.
Co-Authored-By: Jacob Lisi <[email protected]> Signed-off-by: Tom Wilkie <[email protected]>
3eb03c0
to
2619f25
Compare
Does this fix #1290 ? |
…luster with RF 3 and only 3 nodes. (cortexproject#2503) * Use a real ring with mock KV when testing distributor. This is to teast out errors in the replication logic. Signed-off-by: Tom Wilkie <[email protected]> * Extend distributor test to cover the case RF=3 with 2 ingesters. Signed-off-by: Tom Wilkie <[email protected]> * Ensure ring correctly calculates the number of allowed failures when RF=3 and #ingesters=2. Signed-off-by: Tom Wilkie <[email protected]> * Add changelog and review feedback. Signed-off-by: Tom Wilkie <[email protected]> * Refactor some distributor tests to try and get them to pass. Signed-off-by: Tom Wilkie <[email protected]> * Speed up tests but polling more frequently. Signed-off-by: Tom Wilkie <[email protected]> * Fix same bug on the write path. Signed-off-by: Tom Wilkie <[email protected]> * Tidy up the distributor tests. Signed-off-by: Tom Wilkie <[email protected]> * Make test correctly handle RF3 and 2 ingesters - previously was succeeding when it shouldn't Signed-off-by: Tom Wilkie <[email protected]> * Update pkg/ring/ring.go Co-Authored-By: Jacob Lisi <[email protected]> Signed-off-by: Tom Wilkie <[email protected]> Co-authored-by: Jacob Lisi <[email protected]> Signed-off-by: Goutham Veeramachaneni <[email protected]>
…luster with RF 3 and only 3 nodes. (#2503) (#2512) * Use a real ring with mock KV when testing distributor. This is to teast out errors in the replication logic. Signed-off-by: Tom Wilkie <[email protected]> * Extend distributor test to cover the case RF=3 with 2 ingesters. Signed-off-by: Tom Wilkie <[email protected]> * Ensure ring correctly calculates the number of allowed failures when RF=3 and #ingesters=2. Signed-off-by: Tom Wilkie <[email protected]> * Add changelog and review feedback. Signed-off-by: Tom Wilkie <[email protected]> * Refactor some distributor tests to try and get them to pass. Signed-off-by: Tom Wilkie <[email protected]> * Speed up tests but polling more frequently. Signed-off-by: Tom Wilkie <[email protected]> * Fix same bug on the write path. Signed-off-by: Tom Wilkie <[email protected]> * Tidy up the distributor tests. Signed-off-by: Tom Wilkie <[email protected]> * Make test correctly handle RF3 and 2 ingesters - previously was succeeding when it shouldn't Signed-off-by: Tom Wilkie <[email protected]> * Update pkg/ring/ring.go Co-Authored-By: Jacob Lisi <[email protected]> Signed-off-by: Tom Wilkie <[email protected]> Co-authored-by: Jacob Lisi <[email protected]> Signed-off-by: Goutham Veeramachaneni <[email protected]> Co-authored-by: Tom Wilkie <[email protected]> Co-authored-by: Jacob Lisi <[email protected]>
I can't see that this fixes #1290. AFAICS |
Signed-off-by: Tom Wilkie [email protected]
What this PR does:
Which issue(s) this PR fixes:
Fixes #2504
Checklist
CHANGELOG.md
updated - the order of entries should be[CHANGE]
,[FEATURE]
,[ENHANCEMENT]
,[BUGFIX]