[CP] BUG FIX: make create partition group process rollback success if it is failed.

This commit is contained in:
obdev
2022-05-05 14:16:11 +08:00
committed by wangzelin.wzl
parent 829cfdecfa
commit 3946d3a920
8 changed files with 54 additions and 41 deletions

View File

@ -923,23 +923,23 @@ private:
int replace_restore_info_(const uint64_t cur_tenant_id, const share::ObReplicaRestoreStatus is_restore,
const int64_t create_frozen_version, ObCreatePartitionParam& create_param);
int prepare_all_partitions();
int remove_duplicate_partitions(const common::ObIArray<obrpc::ObCreatePartitionArg>& batch_arg);
int add_partitions_to_mgr(common::ObIArray<ObIPartitionGroup*>& partitions);
int add_partitions_to_replay_engine(const common::ObIArray<ObIPartitionGroup*>& partitions);
int batch_register_trans_service(const common::ObIArray<obrpc::ObCreatePartitionArg>& batch_arg);
int batch_register_election_mgr(const bool is_pg, const common::ObIArray<obrpc::ObCreatePartitionArg>& batch_arg,
common::ObIArray<ObIPartitionGroup*>& partitions,
int remove_duplicate_partitions(const common::ObIArray<obrpc::ObCreatePartitionArg> &batch_arg);
int add_partitions_to_mgr_(ObIPartitionArrayGuard &partitions);
int add_partitions_to_replay_engine_(ObIPartitionArrayGuard &partitions);
int batch_register_trans_service(const common::ObIArray<obrpc::ObCreatePartitionArg> &batch_arg);
int batch_register_election_mgr_(const bool is_pg, const common::ObIArray<obrpc::ObCreatePartitionArg>& batch_arg,
ObIPartitionArrayGuard &partitions,
common::ObIArray<blocksstable::ObStorageFileHandle>& files_handle);
int batch_start_partition_election(
const common::ObIArray<obrpc::ObCreatePartitionArg>& batch_arg, common::ObIArray<ObIPartitionGroup*>& partitions);
int try_remove_from_member_list(ObIPartitionGroup& partition);
int batch_prepare_splitting(const common::ObIArray<obrpc::ObCreatePartitionArg>& batch_arg);
int try_add_to_member_list(const obrpc::ObMemberChangeArg& arg);
int check_active_member(common::ObAddr& leader, const common::ObMember& member, const common::ObPartitionKey& key);
int handle_add_replica_callback(const ObReplicaOpArg& arg, const int result);
int handle_migrate_replica_callback(const ObReplicaOpArg& arg, const int result, bool& could_retry);
int handle_rebuild_replica_callback(const ObReplicaOpArg& arg, const int result);
int handle_change_replica_callback(const ObReplicaOpArg& arg, const int result);
int batch_start_partition_election_(
const common::ObIArray<obrpc::ObCreatePartitionArg> &batch_arg, ObIPartitionArrayGuard &partitions);
int try_remove_from_member_list(ObIPartitionGroup &partition);
int batch_prepare_splitting(const common::ObIArray<obrpc::ObCreatePartitionArg> &batch_arg);
int try_add_to_member_list(const obrpc::ObMemberChangeArg &arg);
int check_active_member(common::ObAddr &leader, const common::ObMember &member, const common::ObPartitionKey &key);
int handle_add_replica_callback(const ObReplicaOpArg &arg, const int result);
int handle_migrate_replica_callback(const ObReplicaOpArg &arg, const int result, bool &could_retry);
int handle_rebuild_replica_callback(const ObReplicaOpArg &arg, const int result);
int handle_change_replica_callback(const ObReplicaOpArg &arg, const int result);
template <typename ResultT>
int get_operate_replica_res(const ObReplicaOpArg& arg, const int result, ResultT& res);
int retry_get_is_member_change_done(common::ObAddr& leader, obrpc::ObMCLogRpcInfo& mc_log_info);