fix: filter excess shard pods in scheduling issue check - #273
Merged
jdheyburn merged 1 commit intoJun 23, 2026
Merged
Conversation
Follow-up to valkey-io#258. The inner handlePodSchedulingIssues call in the reconcileValkeyNodes requeue branch still lists all cluster pods, including those from excess shards pending removal. During a concurrent rolling update and scale-in, this can block progress. Filter findPodSchedulingIssue to skip pods with a shard-index label >= the desired shard count, so only pods belonging to desired shards are checked for scheduling issues. Signed-off-by: Daan Vinken <daanvinken@tythus.com>
daanvinken
force-pushed
the
fix/inner-scheduling-check-ignores-excess-shards
branch
from
June 23, 2026 16:18
7a2e950 to
2cf60fd
Compare
Contributor
jdheyburn
approved these changes
Jun 23, 2026
jdheyburn
left a comment
Collaborator
There was a problem hiding this comment.
Looks good, thank you!
sandeepkunusoth
pushed a commit
to sandeepkunusoth/valkey-k8s-operator
that referenced
this pull request
Jul 5, 2026
## Summary Follow-up to valkey-io#258. The inner `handlePodSchedulingIssues` call in the `reconcileValkeyNodes` requeue branch (line 167) still lists all cluster pods, including those from excess shards pending removal. During a concurrent rolling update and scale-in, this can block progress. ## Implementation Filter `findPodSchedulingIssue` to skip pods whose `shard-index` label is >= the desired shard count. Only pods belonging to desired shards are checked for scheduling issues. Excess shard pods are ignored since they will be cleaned up by `handleScaleIn`. ## Limitations None. The filter is safe because excess shard pods are always cleaned up by `handleScaleIn` regardless of their scheduling state. ## Testing Compiles clean. Existing test failures on main are pre-existing (unrelated `reconcileValkeyNode` signature change). Signed-off-by: Daan Vinken <daanvinken@tythus.com>
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.
Summary
Follow-up to #258. The inner
handlePodSchedulingIssuescall in thereconcileValkeyNodesrequeue branch (line 167) still lists all cluster pods, including those from excess shards pending removal. During a concurrent rolling update and scale-in, this can block progress.Implementation
Filter
findPodSchedulingIssueto skip pods whoseshard-indexlabel is >= the desired shard count. Only pods belonging to desired shards are checked for scheduling issues. Excess shard pods are ignored since they will be cleaned up byhandleScaleIn.Limitations
None. The filter is safe because excess shard pods are always cleaned up by
handleScaleInregardless of their scheduling state.Testing
Compiles clean. Existing test failures on main are pre-existing (unrelated
reconcileValkeyNodesignature change).