Skip to content

fix(e2e-upgrade): launch head with v1 legacy-DISK config on existing clusters#373

Merged
heni02 merged 2 commits into
matrixorigin:mainfrom
cpegeric:fix_crc
Jul 1, 2026
Merged

fix(e2e-upgrade): launch head with v1 legacy-DISK config on existing clusters#373
heni02 merged 2 commits into
matrixorigin:mainfrom
cpegeric:fix_crc

Conversation

@cpegeric

@cpegeric cpegeric commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

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.

cpegeric and others added 2 commits June 30, 2026 17:54
…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 heni02 merged commit 7f1fdc4 into matrixorigin:main Jul 1, 2026
1 check passed
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