Yukang-Lian opened a new pull request, #64312:
URL: https://github.com/apache/doris/pull/64312

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PR: #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.
   
   ### Release note
   
   Fix cloud schema change retry stale V1 failure.
   
   ### Check List (For Author)
   
   - Test: Unit Test / Regression test / Build / Format
       - ./run-be-ut.sh --run --filter=CloudSchemaChangeJobTest.*
       - ./build.sh --be
       - ./build.sh --cloud
       - docker build -f docker/runtime/doris-compose/Dockerfile -t 
local/doris:sc_v1_refresh_20260609 .
       - ./run-regression-test.sh --run -runMode cloud --image 
local/doris:sc_v1_refresh_20260609 -d 
cloud_p1/schema_change/compaction_optimization -s 
test_sc_compaction_cross_v1_stale_base_refresh
       - export PATH="/mnt/disk2/lianyukang/ldb_toolchain_v16/bin":$PATH; 
build-support/clang-format.sh be/src/cloud/cloud_schema_change_job.cpp 
be/src/cloud/cloud_tablet.cpp be/test/cloud/cloud_schema_change_job_test.cpp
       - export PATH="/mnt/disk2/lianyukang/ldb_toolchain_v16/bin":$PATH; 
build-support/check-format.sh be/src/cloud/cloud_schema_change_job.cpp 
be/src/cloud/cloud_tablet.cpp be/test/cloud/cloud_schema_change_job_test.cpp
       - git diff --check
   - Behavior changed: Yes. Cloud schema change retry recomputes V1 from the 
refreshed base tablet instead of reusing a stale request alter version.
   - Does this need documentation: No


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to