-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[fix](meta-service) Read recycle rowset key before removing when commit rowset #46657
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
…it rowset
Test case (hard to make it a regression)
```
mysql -h127.0.0.1 -P8952 -uroot -Ddb1 -e 'drop table if exists t1'
mysql -h127.0.0.1 -P8952 -uroot -Ddb1 -e 'CREATE TABLE t1 (id int, name text, score text) ENGINE=OLAP DUPLICATE KEY(id) DISTRIBUTED BY HASH(id) BUCKETS 1'
curl -XPOST "localhost:7211/api/update_config?disable_auto_compaction=true"
curl "localhost:6000/MetaService/http/v1/injection_point?token=greedisgood9999&op=disable"
curl "localhost:6000/MetaService/http/v1/injection_point?token=greedisgood9999&op=clear"
for i in $(seq 1 1 100); do
mysql -h127.0.0.1 -P8952 -uroot -Ddb1 -e 'insert into t1 values(1,1,1)'
done
curl "localhost:6000/MetaService/http/v1/injection_point?token=greedisgood9999&op=apply_suite&name=sleep_before_execute_commit_rowset"
curl "localhost:6000/MetaService/http/v1/injection_point?token=greedisgood9999&op=enable"
curl -XPOST "localhost:7211/api/update_config?disable_auto_compaction=false"
sleep 60
instance_id=gavin_debug_instance_doris
tablet_id=$(mysql -h127.0.0.1 -P8952 -uroot -Ddb1 -e 'show tablets from t1;' | awk '{if (++n>1) print $1}')
curl "localhost:7211/api/compaction/show?tablet_id=${tablet_id}"
txn_id=$(curl -s "localhost:6000/MetaService/http/get_value?token=greedisgood9999&unicode&key_type=MetaRowsetKey&instance_id=${instance_id}&tablet_id=${tablet_id}&version=101" | jq ".txn_id" | tr -d '"')
curl -s "localhost:6000/MetaService/http/get_value?token=greedisgood9999&unicode&key_type=MetaRowsetTmpKey&instance_id=${instance_id}&tablet_id=${tablet_id}&txn_id=${txn_id}"
```
27c85a1 to
7dda53f
Compare
|
run buildall |
deardeng
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
run buildall |
|
run buildall |
|
run buildall |
What problem does this PR solve?
This PR read recycle_rowset_key when commit_rowset, and it also fix some cloud UTs: loopaddr, recycler JVM memory, resource drop FE.
Related PR #45255 #46798
We should read the recycle_rowset_key before removing to make KV txn serializable.
Test case (hard to make it a regression)
Problem Summary:
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)