Skip to content

doc: design for the cluster-controller legacy removal (reference only, do not merge) - #38175

Closed
aljoscha wants to merge 1 commit into
aljoscha/cluster-legacy-06-compression-fixfrom
aljoscha/cluster-legacy-08-design
Closed

doc: design for the cluster-controller legacy removal (reference only, do not merge)#38175
aljoscha wants to merge 1 commit into
aljoscha/cluster-legacy-06-compression-fixfrom
aljoscha/cluster-legacy-08-design

Conversation

@aljoscha

@aljoscha aljoscha commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Not intended to merge. This sits on top of the stack as a reference for what
the code PRs do and why. Read it first, merge it last or never.

The design records the parts that are easy to rediscover incorrectly:

  • why the controller and catalog-open builtin-replica reconciliation do not
    conflict
  • why the old pending field and its migration remain after runtime pending
    replicas are deleted
  • why every managed reshape, including a zero-timeout commit, goes through the
    durable controller record
  • why the sequencer cannot safely reproduce the complete strategy decision
    without recreating staged off-loop signal collection
  • how the cluster-catalog notification keeps normal zero-timeout latency to one
    controller pass
  • why first-pass resource validation applies a signed replacement to live
    inventory and reserves a warranted burst before it materializes
  • why create-time scoped configuration belongs in coordinator catalog
    transaction machinery rather than SQL or the cluster controller

In particular, the rejected synchronous sequencer alternative records the bug
found in review: a baseline-only cut-over dropped an active hydration-burst
replica and the next controller tick recreated it cold.

Stack, in merge order

Merged:

  1. adapter: remove ENABLE_CLUSTER_CONTROLLER and the legacy REFRESH scheduler #38101 - adapter: remove ENABLE_CLUSTER_CONTROLLER and the legacy REFRESH scheduler
  2. adapter: let the cluster controller own system clusters #38102 - adapter: let the cluster controller own system clusters

Open:

  1. adapter: delete the staged cluster reconfiguration and direct replica paths #38103 - adapter: delete the staged cluster reconfiguration and direct replica paths
  2. sql: accept WITH (WAIT ...) on ALTER CLUSTER unconditionally #38104 - sql: accept WITH (WAIT ...) on ALTER CLUSTER unconditionally
  3. this reference PR

The GitHub base still has the old 06-compression-fix branch name because the
stack guard refuses retargeting. That branch points at the exact #38104 commit,
so this PR's diff is still only the design document.

@aljoscha
aljoscha force-pushed the aljoscha/cluster-legacy-07-cutover-factor branch from 3dfcb36 to 6a84b07 Compare August 17, 2026 09:58
@aljoscha
aljoscha force-pushed the aljoscha/cluster-legacy-08-design branch 2 times, most recently from eceba40 to 7ae8c8b Compare August 24, 2026 09:39
@aljoscha
aljoscha force-pushed the aljoscha/cluster-legacy-07-cutover-factor branch from 6a84b07 to 93798f7 Compare August 24, 2026 09:39
Base automatically changed from aljoscha/cluster-legacy-07-cutover-factor to aljoscha/cluster-legacy-06-compression-fix August 24, 2026 09:39
@aljoscha
aljoscha force-pushed the aljoscha/cluster-legacy-08-design branch from 7ae8c8b to b010f08 Compare August 24, 2026 09:43
@aljoscha
aljoscha force-pushed the aljoscha/cluster-legacy-06-compression-fix branch from 93798f7 to 7328043 Compare August 24, 2026 09:44
@aljoscha
aljoscha force-pushed the aljoscha/cluster-legacy-08-design branch from b010f08 to c93111e Compare August 24, 2026 09:44
@aljoscha
aljoscha force-pushed the aljoscha/cluster-legacy-06-compression-fix branch from 7328043 to cac31da Compare August 24, 2026 09:46
@aljoscha
aljoscha force-pushed the aljoscha/cluster-legacy-08-design branch from c93111e to 9e78f17 Compare August 24, 2026 09:46
Record why the cluster controller can own every managed replica set once the
legacy scheduler and staged reconfiguration machine are removed. Document the
remaining bootstrap responsibilities, controller-only zero-timeout cut-overs,
resource-peak semantics, and the rejected synchronous sequencer alternative.
@aljoscha
aljoscha force-pushed the aljoscha/cluster-legacy-06-compression-fix branch from cac31da to 25139f5 Compare August 24, 2026 10:46
@aljoscha
aljoscha force-pushed the aljoscha/cluster-legacy-08-design branch from 9e78f17 to 4593ff3 Compare August 24, 2026 10:46
@aljoscha

Copy link
Copy Markdown
Contributor Author

Closing to move this off the obsolete 06-compression-fix base alias. GitHub's stacked-PR guard refuses a base change, so the same reference document is being reopened on top of #38104. No review state is lost, this PR had no reviews or comments.

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.

1 participant