This is an automated email from the ASF dual-hosted git repository.
mymeiyi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 5af094f0b08 [fix](cloud) recycler
decrement_delete_bitmap_packed_file_ref_counts method should read delete
bitmaps as blobs (#66728)
5af094f0b08 is described below
commit 5af094f0b08a05f715f1391bb7286616a410a885
Author: meiyi <[email protected]>
AuthorDate: Tue Aug 18 16:49:30 2026 +0800
[fix](cloud) recycler decrement_delete_bitmap_packed_file_ref_counts method
should read delete bitmaps as blobs (#66728)
v2 delete bitmaps are written with `blob_put`, which appends a suffix to
every physical key.
The recycler read the unsuffixed logical key with Transaction::get, treated
existing delete bitmap metadata as missing, and skipped standalone-file
deletion or packed-file reference-count updates.
---
cloud/src/recycler/recycler.cpp | 6 +++---
cloud/test/recycler_test.cpp | 5 +----
2 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/cloud/src/recycler/recycler.cpp b/cloud/src/recycler/recycler.cpp
index 7c13d2d4bc2..3eef49b0c0e 100644
--- a/cloud/src/recycler/recycler.cpp
+++ b/cloud/src/recycler/recycler.cpp
@@ -3838,8 +3838,8 @@ int
InstanceRecycler::decrement_delete_bitmap_packed_file_ref_counts(
return -1;
}
- std::string dbm_val;
- err = txn->get(dbm_key, &dbm_val);
+ ValueBuf dbm_val;
+ err = cloud::blob_get(txn.get(), dbm_key, &dbm_val);
if (err == TxnErrorCode::TXN_KEY_NOT_FOUND) {
// No delete bitmap for this rowset, nothing to do
LOG_INFO("delete bitmap not found, skip packed file ref count
decrement")
@@ -3858,7 +3858,7 @@ int
InstanceRecycler::decrement_delete_bitmap_packed_file_ref_counts(
}
DeleteBitmapStoragePB storage;
- if (!storage.ParseFromString(dbm_val)) {
+ if (!dbm_val.to_pb(&storage)) {
LOG_WARNING("failed to parse delete bitmap storage")
.tag("instance_id", instance_id_)
.tag("tablet_id", tablet_id)
diff --git a/cloud/test/recycler_test.cpp b/cloud/test/recycler_test.cpp
index 8c635e8d6e9..de8c044b842 100644
--- a/cloud/test/recycler_test.cpp
+++ b/cloud/test/recycler_test.cpp
@@ -248,13 +248,10 @@ static int create_delete_bitmaps_v2(TxnKv* txn_kv,
StorageVaultAccessor* accesso
return -1;
}
- DeleteBitmapPB delete_bitmap;
DeleteBitmapStoragePB delete_bitmap_storage;
delete_bitmap_storage.set_store_in_fdb(false);
auto key = versioned::meta_delete_bitmap_key({instance_id, tablet_id,
rowset_id});
- std::string val;
- delete_bitmap_storage.SerializeToString(&val);
- txn->put(key, val);
+ cloud::blob_put(txn.get(), key, delete_bitmap_storage, 0);
if (txn->commit() != TxnErrorCode::TXN_OK) {
return -1;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]