luwei16 opened a new pull request, #70537: URL: https://github.com/apache/doris/pull/70537
### Background Changelog tablets retain historical events. Delete bitmaps exclude physical rows rejected by the source table's conflict resolution. ### What problem does this PR solve? Issue Number: None Related PR: #43337, #65810 PR Type: Bugfix Problem Summary: After a restart, manual full compaction can expose a rejected update as an extra BEFORE/AFTER pair in DETAIL history. ### Details - Frequency: Cold loading for manual full compaction. - Root cause: The initial load skips bitmaps, and subsequent incremental synchronization sees no new rowsets to fetch their missing filters. - Why existing tests missed it: No coverage for cached changelog rowsets with missing bitmaps. - Fix: Fully synchronize changelog inputs before merging; abort preparation on synchronization errors. - Other paths and branches: Ordinary tablets retain incremental synchronization. Existing incorrect history requires separate repair. ### Testing - Passed: clang-format 16, build hygiene, and git diff --check. - Added four RPC-based BE tests for bitmap restoration, empty bitmaps, read failures, and ordinary-tablet behavior. - Compilation, test execution, and clang-tidy remain blocked: the exact thirdparty cache is unavailable, and the Arrow ADBC 24 source archive fails checksum verification. -- 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]
