diff --git a/cloud/src/meta-service/meta_service.cpp b/cloud/src/meta-service/meta_service.cpp index c43364a4b81e76..660a7ef7320bc4 100644 --- a/cloud/src/meta-service/meta_service.cpp +++ b/cloud/src/meta-service/meta_service.cpp @@ -2567,6 +2567,14 @@ void MetaServiceImpl::get_delete_bitmap_update_lock(google::protobuf::RpcControl << " initiators_size=" << lock_info.initiators_size(); err = txn->commit(); + + if (request->lock_id() > 0 && err == TxnErrorCode::TXN_CONFLICT) { + // For load, the only fdb txn conflict here is due to compaction(sc) job. + // We turn it into a lock conflict error to skip the MS RPC backoff becasue it's too long + // and totally let FE to control the retry backoff sleep time + code = MetaServiceCode::LOCK_CONFLICT; + } + if (err != TxnErrorCode::TXN_OK) { code = cast_as(err); ss << "failed to get_delete_bitmap_update_lock, err=" << err;