yujun777 opened a new pull request, #22861: URL: https://github.com/apache/doris/pull/22861
## Proposed changes Tablet sched will always failed for case below: 1. At the beginning, 4 BE: A, B, C, D; replica alloc num=3; three replicas are on A, B, C; 2. User change BE B/C/D to tag:foo, also change table and partitions to tag:foo; 3. Tablet scheduler will migrate replica from A => D. 4. Firstly, D clone a replica. During cloning, table loads data. After cloning, there are 4 replicas: a) A: version complete, tag mismatch; b) B: version complete, tag match; c) C: version complete, tag match; d) D: version incomplete, tag match; 5. Tablet's aliveAndVersionComplete is ok(3 replicas: A,B,C), then it check if replicas of each tag are enough , it will found tag:foo 's replica is not engough, it has 2 replicas: B, C (cause the alloc map excludes version incompleted D), so this tablet's health status is REPLICA_MISSING_FOR_TAG; 6. Scheduler will try to find another BE to clone a new replica, then it will failed. The PR is to fix this. For a tag, if the alive replicas are enough, but version complete replicas are not enough, then the tablet's status should be VERSION_INCOMPLETE. ## 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