GoGoWen opened a new pull request, #34117:
URL: https://github.com/apache/doris/pull/34117
## Proposed changes
step 1:
create table1 in doris with some data in it.
step 2:
dropp one backend with "alter system dropp backend "backend_ip:port""
step 3:
add the dropped backend back to cluster with "alter system add backend "
after all replicas be health we use "delete from table1 partition p1 where
condition" to remove some data
we get error like "2024-04-25 14:12:00,760 WARN (mysql-nio-pool-22|6640)
[DatabaseTransactionMgr.checkCommitStatus():555] Failed to commit txn [11031].
Tablet [16328] success replica num is 0 < quorum replica num 1 while error
backends 26008 error replica info replica [16329] commitBackends null or
tabletBackend [26008] does not in commitBackends
2024-04-25 14:12:00,760 INFO (mysql-nio-pool-22|6640)
[DeleteHandler.cancelJob():613] start to cancel delete job, transactionId:
11031, cancelType: COMMIT_FAIL".
after investigation we get two log like below:
fe.log:2024-04-25 14:06:28,464 INFO (UNKNOWN
11.30.39.107_9010_1713321494597(-1)|82) [TabletInvertedIndex.addReplica():469]
add replica 16329 of tablet 16328 in backend 26008
fe.log:2024-04-25 14:08:24,469 INFO (UNKNOWN
11.30.39.107_9010_1713321494597(-1)|82)
[TabletInvertedIndex.deleteReplica():488] delete replica 16329 of tablet 16328
in backend 25239
the root cause is we first add replica for newly add backend, then delete
replica in dropped backend, the replica has the same replica id, so
replicaToTabletMap.remove(replica.getId()) will remove the newly add replica,
witch cause "could not find tablet id for replica {}, the tablet maybe dropped"
<!--Describe your changes.-->
## Further comments
If this is a relatively large or complex change, kick off the discussion at
[[email protected]](mailto:[email protected]) 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: [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]