branch-3.1: [fix](cloud) Refresh base tablet before schema change V1 #64312 - #67608
Open
Yukang-Lian wants to merge 1 commit into
Open
branch-3.1: [fix](cloud) Refresh base tablet before schema change V1 #64312#67608Yukang-Lian wants to merge 1 commit into
Yukang-Lian wants to merge 1 commit into
Conversation
Related PR: apache#62272 Problem Summary: Cloud schema change retries could keep registering a stale alter version after a cross-V1 compaction conflict. The retry path synced the base tablet only up to the request alter version, so a local base tablet whose max version already exceeded that request could skip refreshing newer visible rowsets. When a new schema-change tablet had a compaction rowset crossing the stale V1, every retry reused that V1 and eventually exhausted the retry limit. This change refreshes the base tablet without capping sync by the request alter version before computing schema change V1, allowing retries to register a fresh boundary. It also adds a docker regression case that blocks schema change, creates a cross-V1 retry, injects stale local max-version state for query-version sync, and verifies the retry finishes after the base tablet is refreshed. Fix cloud schema change retry stale V1 failure.
Contributor
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
Collaborator
Author
|
run buildall |
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.
What problem does this PR solve?
Issue Number: None
Related PR: #64312
Problem Summary: Backport the Cloud schema-change base-tablet refresh fix from #64312 to
branch-3.1.Before capturing rowset readers and registering schema change V1, the base tablet now performs an uncapped rowset refresh. This prevents a stale request alter version from hiding newer visible rowsets across retries. The implementation is adapted to this branch's older
CloudTablet::sync_rowsets()API.The master regression fixture depends on later cross-V1 test infrastructure that is absent from this branch, so this backport keeps the production fix and its diagnostic debug point without importing unsupported test scaffolding.
The branch is rebased onto the latest
branch-3.1.Release note
Refresh the Cloud schema-change base tablet before calculating and registering V1.
Check List (For Author)
clang-format16--dry-run --Werror: passed for all changed C++ filesgit diff --check: passedrun buildall