doris
doris copied to clipboard
[fix](publish) fix when TabletPublishTxnTask::handle() error, transaction publish success, and query table error
BE use EnginePublishVersionTask to publish all replica of all tablets of table of one transaction, and EnginePublishVersionTask use TabletPublishTxnTask to truly publish tablet and make rowset visible. but if TabletPublishTxnTask error, tablet id will add _error_tablet_ids but no return some errors, and EnginePublishVersionTask will not report any error to FE, and FE make this transaction visible, and partition's version add 1.
but if you query this table, will return error like "MySQL [test]> select * from test12;ERROR 1105 (HY000): errCode = 2, detailMessage = [INTERNAL_ERROR]failed to initialize storage reader. tablet=14023.730105214.xxxx, res=[INTERNAL_ERROR][xxx]fail to find path in version_graph. spec_version: 0-3, backend=xxx".
after this pr, _error_tablet_ids will report to FE, this transaction will not be visible and add ErrMsg like "publish on tablet 14038 failed.".
Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)
- [ ] Does it affect the original behavior
- [ ] Has unit tests been added
- [ ] Has document been added or modified
- [ ] Does it need to update dependencies
- [ ] Is this PR support rollback (If NO, please explain WHY)
Further comments
If this is a relatively large or complex change, kick off the discussion at [email protected] by explaining why you chose the solution you did and what alternatives you considered, etc...
clang-tidy review says "All clean, LGTM! :+1:"
run buildall
TeamCity pipeline, clickbench performance test result: the sum of best hot time: 33.83 seconds stream load tsv: 473 seconds loaded 74807831229 Bytes, about 150 MB/s stream load json: 38 seconds loaded 2358488459 Bytes, about 59 MB/s stream load orc: 76 seconds loaded 1101869774 Bytes, about 13 MB/s stream load parquet: 31 seconds loaded 861443392 Bytes, about 26 MB/s https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230306081106_clickbench_pr_109149.html
PR approved by at least one committer and no changes requested.
PR approved by anyone and no changes requested.
run p0
run p0
run buildall
clang-tidy review says "All clean, LGTM! :+1:"