Skip to content

Fix four bugs ahead of the next release - #1175

Merged
NishanthNalluri merged 7 commits into
masterfrom
fix/pre-release-bug-fixes
Oct 30, 2026
Merged

NishanthNalluri merged 7 commits into
masterfrom
fix/pre-release-bug-fixes

Conversation

@NishanthNalluri

Copy link
Copy Markdown
Contributor

Four independent fixes, one commit each.

controller: requeue after a successful action (#1174) — SetupRBAC creates only resources the controller does not watch and records nothing in status, so the reconcile that ran it produced neither a requeue nor a watch event. A cluster that reached SetupRBAC as the only pending queue entry stalled before the StatefulSet until the next cache resync, with no error and clusterStatus stuck at Starting. Reconcile now requeues after an action succeeds; once no action is left the director returns nil and the loop stops as before.

resource: keep the restart marker on the pod template (#1171) — the StatefulSet builder rebuilds the pod template from the spec, dropping the crdb.io/restart marker the restart actor writes onto the live template. The next deploy saw that as a template change and rolled every pod a second time, including for changes that should not touch pods such as a node count change.

clustersql: check rows.Err() (#1162) — Next returns false both when rows are exhausted and when the stream fails, so a truncated read of crdb_internal.zones was returned as a complete one. Same change as #1162.

actor: return the restart annotation cleanup error (#1164) — the annotation is what selects the restart action, so swallowing the update error recorded the restart as complete while leaving the annotation in place, and the next reconcile restarted the cluster again. Same change as #1164, with the cleanup pulled into its own method so the failure path can be tested without a live health checker.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-29T11:47:31.946427Z 629bea4 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 629bea4447

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread pkg/actor/cluster_restart.go Resolved
@NishanthNalluri
NishanthNalluri force-pushed the fix/pre-release-bug-fixes branch 3 times, most recently from a78aba4 to 92f0683 Compare October 29, 2026 13:56
SetupRBAC creates only resources the controller does not watch and records
nothing in status, so the reconcile that ran it produced neither a requeue
nor a watch event and the cluster stalled before the StatefulSet until the
next cache resync.

Fixes #1174.
The StatefulSet builder rebuilds the pod template from the spec, which
dropped the marker the restart actor writes onto the live template. The next
deploy then saw a template change and rolled every pod a second time,
including for changes that should not touch pods.

Fixes #1171.
Next returns false both when the rows are exhausted and when the stream
fails, so a truncated read was returned as a complete one.

Closes #1162.
The annotation selects the restart action, so a swallowed update error left
it in place and the next reconcile rolled the cluster again. Retry on
conflict before giving up, as the other CR annotation writes do.

Closes #1164.
@NishanthNalluri
NishanthNalluri force-pushed the fix/pre-release-bug-fixes branch from 92f0683 to 88d68c9 Compare October 30, 2026 08:51
The version checker Job uses fixed resource requests, so the test's large CR resource requests no longer keep its pod pending.

This commit uses required node affinity to make the pod unschedulable and checks that Kubernetes reports it that way.
This commit upgrades k3d from 5.2.2 to 5.8.3 to support newer Kubernetes versions in local development and CI.
@NishanthNalluri
NishanthNalluri merged commit 334aa4b into master Oct 30, 2026
8 checks passed
@NishanthNalluri
NishanthNalluri deleted the fix/pre-release-bug-fixes branch October 30, 2026 12:43
This was referenced Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants