[fix](replica) Fix inconsistent replica id between BE and FE in corner case of tablet rebalance#16889
Conversation
|
clang-tidy review says "All clean, LGTM! 👍" |
3c742fb to
6150cef
Compare
|
clang-tidy review says "All clean, LGTM! 👍" |
|
run p0 |
6150cef to
9729b0e
Compare
|
clang-tidy review says "All clean, LGTM! 👍" |
|
TeamCity pipeline, clickbench performance test result: |
|
run feut |
|
run buildall |
|
build p0 |
|
build feut |
|
run buildall |
|
run clickbench |
|
run p0 |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
…r case of tablet rebalance (#16889)
…in corner case of tablet rebalance (apache#16889)" This reverts commit 783c7d3.
…r case of tablet rebalance (apache#16889)
Proposed changes
Issue Number: close #xxx
Problem summary
tabletwhich has differentreplica_idfrom clone req in_do_clonemay be a dropped replica in FE, e.g:BE1 migrates replica of tablet_1 to BE2, but before BE1 drop this replica, another new replica of tablet_1 is migrated to BE1.
We MUST NOT allow to clone success on dropped replica, otherwise replica id may never be consistent between FE and BE, which may affect operations that depend on the replica id (i.e. drop tablet, cooldown).
Also, when FE tries to add replica in handling
tabletReport, it MUST create new Replica withreplicaIdreported by BE to maintain replica meta consistent between FE and BE.Checklist(Required)
Further comments
If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...