fix(e2e-upgrade): launch head with v1 legacy-DISK config on existing clusters#373
Merged
Conversation
…clusters matrixone's etc/launch now defaults to the checksum-free DISK-V2 backend. The upgrade test reuses the upstream-written mo-data (DISK/CRC) but swapped in head's etc, so the new binary tried to read DISK data as raw and failed in wait_system_init. A real upgrade keeps the cluster's existing storage config. So in "Start the MO of Head Ref", launch with v1/$PROFILE when ./etc/v1/$PROFILE exists (the legacy DISK config), else fall back to the original profile. The cn.txn leak-check settings are mirrored into the v1 config too. Guarded by the dir check, so PRs without etc/v1 are unaffected. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The prior version always used etc/v1 (DISK) when it existed, which breaks once DISK-V2 lands in main: upstream then writes DISK-V2 data but head would read it with the v1 DISK config and fail. Detect the upstream on-disk format from its config (grep DISK-V2 in ./etc/$PROFILE, before it is removed): upstream DISK-V2 -> launch with the DISK-V2 default (etc/launch); upstream DISK -> launch with etc/v1/$PROFILE when present. Falls back to the original profile otherwise. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
heni02
approved these changes
Jul 1, 2026
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.
matrixone's etc/launch now defaults to the checksum-free DISK-V2 backend. The upgrade test reuses the upstream-written mo-data (DISK/CRC) but swapped in head's etc, so the new binary tried to read DISK data as raw and failed in wait_system_init.
A real upgrade keeps the cluster's existing storage config. So in "Start the MO of Head Ref", launch with v1/$PROFILE when ./etc/v1/$PROFILE exists (the legacy DISK config) and the upstream config is DISK, else fall back to the original profile. The cn.txn leak-check settings are mirrored into the v1 config too. Guarded by the dir check, so PRs without etc/v1 are unaffected.