zhannngchen opened a new pull request, #33536: URL: https://github.com/apache/doris/pull/33536
## Proposed changes Issue Number: close #xxx #29386 fixed an issue that may cause duplicate key, but it breaks some schema change cases. Then #29733 reverted some change of #29386, which also brought back this issue. issue description: 1. all rowsets written to the new tablet with TABLET_NOTREADY, are skipped the step of delete bitmap calculation 2. after the new tablet created, double write start writing rowsets to new tablet 3. alter process will calculate a version on base tablet, for the rowsets that need to be converted to new schema, and clean all rowsets older than that version on the new tablet, before start converting the historical data 4. but the max_version of new tablet may lag behind base tablet, e.g. new tablet's max version is 6, and base tablet's max convert version is 10. So after the rowset clear of step3, double write may still write version 7,8,9,10 into new tablet 5. after the historical data conversion, alter process will add new converted rowsets into new tablet, but it will fail while adding rowsets between version 7 and 10. 6. the delete bitmap of rowsets between 7 and 10 is not calculated, so duplicate key happened. ## 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