You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
adapter: address review comments on 0dt migrated-MV hydration
- Seed the caught-up gate's transitive-dependent walk from all of
`new_builtin_collections`, not just the MVs, and require the write
frontier to be within the allowed lag of `now` on the
no-live-frontier path so a hydrated-then-stalled collection no longer
passes the gate forever.
- Document the `enable_0dt_hydrate_migrated_builtin_mvs` break-glass
flag: it is read once at startup, so flipping it means changing the
setting on the leader and restarting, and it is not an exact revert.
- Correct the read-only write-enable comments to match the code: the
`allow_writes_in_read_only` tripwire blocks promotion, exclusive
shard ownership holds per (build version, deploy generation), a new
builtin MV cannot be write-enabled, and cite PR #35402 for the
v26.17 leader floor.
Copy file name to clipboardExpand all lines: doc/developer/design/20251015_builtin_schema_migration.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,6 +81,11 @@ Because this environment exclusively owns the replacement shard, the read-only p
81
81
This lets a migrated builtin materialized view and its dependents hydrate before cut-over instead of all at once at cut-over.
82
82
It is safe only for the self-owned replacement shard, never a shard the leader is still serving, which is why it applies to shard replacement and not schema evolution.
83
83
84
+
The force-write is conditional on two things.
85
+
First, the leader must be at v26.17 or later, because every builtin materialized view reads the catalog shard and only leaders from that version on keep its frontier advancing with the current time; against an older leader the dataflow would sit at a stale frontier.
86
+
Second, the `enable_0dt_hydrate_migrated_builtin_mvs` feature flag must be on; it exists as a break-glass revert.
87
+
When either condition does not hold, the migrated materialized views and their dependents are instead excluded from the 0dt caught-up check, which is the older behaviour: promotion proceeds without them and they hydrate at cut-over.
88
+
84
89
A leader process performing shard replacement performs the same steps as in read-only mode.
85
90
Additionally, it cleans up durable state written by earlier versions and/or deploy generations by:
86
91
- arranging for the previous shards used by the migrated storage collections to be finalized
0 commit comments