yujun777 opened a new pull request, #28082: URL: https://github.com/apache/doris/pull/28082
Problem: When execute a sql query, FE will send a request to BE. The request contains tablets and their partitions' visible versions. BE need to obtains the tablet's rowsets in range [0, visible version]. But sometimes BE may had compacted visible version rowset with large version rowsets, so it can not return rowsets just in range [0, visible version]. Then BE will return error VERSION_ALREADY_MERGED -230. Fix: 1. For cumulative and base compaction, BE should compact only those rowsets which version is equal or less than visible version. But if there are a lot of invisible versions, BE should also compact them to avoid use too memory; 2. When publish txn succ, FE will send request to BE to update partitions visible versions; 3. BE will send its partitions visible versions to FE every one minute. FE will diff them with latest visible versions, if BE's are fall behind, FE will send request to BE to update partitions visible versions; ## Proposed changes Issue Number: close #xxx <!--Describe your changes.--> ## Further comments If this is a relatively large or complex change, kick off the discussion at [d...@doris.apache.org](mailto:d...@doris.apache.org) by explaining why you chose the solution you did and what alternatives you considered, etc... -- 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: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org