-
Notifications
You must be signed in to change notification settings - Fork 823
Ensure queries return correctly during rolling upgrades of stateful cluster with RF 3 and only 3 nodes. #2503
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
Conversation
This is to teast out errors in the replication logic. Signed-off-by: Tom Wilkie <tom@grafana.com>
Signed-off-by: Tom Wilkie <tom@grafana.com>
…RF=3 and #ingesters=2. Signed-off-by: Tom Wilkie <tom@grafana.com>
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 <tom@grafana.com>
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 <tom@grafana.com>
Signed-off-by: Tom Wilkie <tom@grafana.com>
Signed-off-by: Tom Wilkie <tom@grafana.com>
Signed-off-by: Tom Wilkie <tom@grafana.com>
…eding when it shouldn't Signed-off-by: Tom Wilkie <tom@grafana.com>
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 <jacob.t.lisi@gmail.com> Signed-off-by: Tom Wilkie <tom@grafana.com>
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 <tom@grafana.com> * Extend distributor test to cover the case RF=3 with 2 ingesters. Signed-off-by: Tom Wilkie <tom@grafana.com> * Ensure ring correctly calculates the number of allowed failures when RF=3 and #ingesters=2. Signed-off-by: Tom Wilkie <tom@grafana.com> * Add changelog and review feedback. Signed-off-by: Tom Wilkie <tom@grafana.com> * Refactor some distributor tests to try and get them to pass. Signed-off-by: Tom Wilkie <tom@grafana.com> * Speed up tests but polling more frequently. Signed-off-by: Tom Wilkie <tom@grafana.com> * Fix same bug on the write path. Signed-off-by: Tom Wilkie <tom@grafana.com> * Tidy up the distributor tests. Signed-off-by: Tom Wilkie <tom@grafana.com> * Make test correctly handle RF3 and 2 ingesters - previously was succeeding when it shouldn't Signed-off-by: Tom Wilkie <tom@grafana.com> * Update pkg/ring/ring.go Co-Authored-By: Jacob Lisi <jacob.t.lisi@gmail.com> Signed-off-by: Tom Wilkie <tom@grafana.com> Co-authored-by: Jacob Lisi <jacob.t.lisi@gmail.com> Signed-off-by: Goutham Veeramachaneni <gouthamve@gmail.com>
…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 <tom@grafana.com> * Extend distributor test to cover the case RF=3 with 2 ingesters. Signed-off-by: Tom Wilkie <tom@grafana.com> * Ensure ring correctly calculates the number of allowed failures when RF=3 and #ingesters=2. Signed-off-by: Tom Wilkie <tom@grafana.com> * Add changelog and review feedback. Signed-off-by: Tom Wilkie <tom@grafana.com> * Refactor some distributor tests to try and get them to pass. Signed-off-by: Tom Wilkie <tom@grafana.com> * Speed up tests but polling more frequently. Signed-off-by: Tom Wilkie <tom@grafana.com> * Fix same bug on the write path. Signed-off-by: Tom Wilkie <tom@grafana.com> * Tidy up the distributor tests. Signed-off-by: Tom Wilkie <tom@grafana.com> * Make test correctly handle RF3 and 2 ingesters - previously was succeeding when it shouldn't Signed-off-by: Tom Wilkie <tom@grafana.com> * Update pkg/ring/ring.go Co-Authored-By: Jacob Lisi <jacob.t.lisi@gmail.com> Signed-off-by: Tom Wilkie <tom@grafana.com> Co-authored-by: Jacob Lisi <jacob.t.lisi@gmail.com> Signed-off-by: Goutham Veeramachaneni <gouthamve@gmail.com> Co-authored-by: Tom Wilkie <tomwilkie@users.noreply.github.com> Co-authored-by: Jacob Lisi <jacob.t.lisi@gmail.com>
I can't see that this fixes #1290. AFAICS |
Signed-off-by: Tom Wilkie tom@grafana.com
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]