@@ -604,6 +604,7 @@ void MetaServiceImpl::drop_partition(::google::protobuf::RpcController* controll
604604 pb.SerializeToString (&to_save_val);
605605 }
606606 bool need_commit = false ;
607+ bool is_versioned_write = is_version_write_enabled (instance_id);
607608 DropPartitionLogPB drop_partition_log;
608609 drop_partition_log.set_db_id (request->db_id ());
609610 drop_partition_log.set_table_id (request->table_id ());
@@ -615,9 +616,12 @@ void MetaServiceImpl::drop_partition(::google::protobuf::RpcController* controll
615616 std::string val;
616617 err = txn->get (key, &val);
617618 if (err == TxnErrorCode::TXN_KEY_NOT_FOUND) { // UNKNOWN
618- LOG_INFO (" put recycle partition" ).tag (" key" , hex (key));
619- txn->put (key, to_save_val);
620- drop_partition_log.add_partition_ids (part_id);
619+ if (is_versioned_write) {
620+ drop_partition_log.add_partition_ids (part_id);
621+ } else {
622+ LOG_INFO (" put recycle partition" ).tag (" key" , hex (key));
623+ txn->put (key, to_save_val);
624+ }
621625 need_commit = true ;
622626 continue ;
623627 }
@@ -661,7 +665,7 @@ void MetaServiceImpl::drop_partition(::google::protobuf::RpcController* controll
661665
662666 if ((drop_partition_log.update_table_version () ||
663667 drop_partition_log.partition_ids_size () > 0 ) &&
664- is_version_write_enabled (instance_id) ) {
668+ is_versioned_write ) {
665669 std::string operation_log_key = versioned::log_key ({instance_id});
666670 std::string operation_log_value;
667671 OperationLogPB operation_log;
@@ -673,6 +677,10 @@ void MetaServiceImpl::drop_partition(::google::protobuf::RpcController* controll
673677 return ;
674678 }
675679 versioned_put (txn.get (), operation_log_key, operation_log_value);
680+ LOG (INFO) << " put drop partition operation log"
681+ << " instance_id=" << instance_id << " table_id=" << request->table_id ()
682+ << " partition_ids=" << drop_partition_log.partition_ids_size ()
683+ << " log_size=" << operation_log_value.size ();
676684 }
677685
678686 err = txn->commit ();
0 commit comments