github-actions[bot] commented on code in PR #63497:
URL: https://github.com/apache/doris/pull/63497#discussion_r3285091899
##########
cloud/src/meta-service/meta_service.cpp:
##########
@@ -4097,7 +4097,9 @@ void
MetaServiceImpl::update_delete_bitmap(google::protobuf::RpcController* cont
}
}
std::string pending_key = meta_pending_delete_bitmap_key({instance_id,
tablet_id});
- txn->put(pending_key, pending_val);
+ // splitting large values (>90*1000) into multiple KVs
+ cloud::blob_remove(txn.get(), pending_key);
+ cloud::blob_put(txn.get(), pending_key, pending_val, 0);
fdb_txn_size = fdb_txn_size + pending_key.size() + pending_val.size();
Review Comment:
This write switches `meta_pending_delete_bitmap_key` from the legacy plain
key to only the blob/suffixed keys. New binaries can read it, but during a
rolling meta-service upgrade an old binary still uses `txn->get(pending_key)` /
`txn->remove(pending_key)`: it will treat this pending state as missing and
will not remove the split fragments. A concrete failure path is: a new instance
handles `update_delete_bitmap` and writes a large split pending value, then an
old instance handles the next explicit sub-txn or commit/schema-change cleanup
for the same tablet; it will not merge or clean the previous pending info,
leaving old delete bitmap KVs untracked or leaked. Please add an
upgrade-compatible rollout mechanism (for example a format gate only enabled
after all meta-service instances are upgraded, or another compatibility design
that prevents old binaries from silently missing newly written pending state)
and cover the mixed-version path.
--
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]