Set expectations when upscaling a StatefulSet #1813
Merged
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.
We had a race condition where some master nodes could be created at
reconciliation #1, then reconciliation #2 would create another set of
master nodes, ignoring the ones from #1 that were created. As a result,
master nodes from #2 would start with the wrong zen1/zen2 settings.
To prevent that from happening, let's reuse our existing expectations
mechanism. When we apply an update, make sure we wait for that update to
appear in the StatefulSets cache.
This goes beyond simply updating replicas and generally slows down the
reconciliation if fields other than replicas were updated.
For the sake of simplicity, I think it's fine.
Fixes #1678.
Kudos to @pebrc and @barkbay for finding this bug in #1654 (comment).