[FEAT MERGE] 开源裁减颗粒度优化
Co-authored-by: nroskill <nroskill@gmail.com> Co-authored-by: akaError <lzg020616@163.com> Co-authored-by: yinyj17 <yinyijun92@gmail.com>
This commit is contained in:
@ -786,3 +786,41 @@ DEF_COMMAND(TRANS, update_lock, 1, "tenant_id ls_id obj_type obj_id lock_mode ow
|
||||
COMMON_LOG(INFO, "update_lock", K(arg));
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef OB_BUILD_ARBITRATION
|
||||
// force_clear_arb_cluster_info
|
||||
// @params [in] cluster_id, which cluster to modify
|
||||
// @params [in] svr_ip, the arbitration server IP
|
||||
// @params [in] svr_port, the arbitration server IP
|
||||
// ATTENTION:
|
||||
// Please make sure let log stream's leader to execute this command
|
||||
// For permanant offline, orig_paxos_number should equals to new_paxos_number
|
||||
DEF_COMMAND(TRANS, force_clear_arb_cluster_info, 1, "cluster_id # force_clear_arb_cluster_info")
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
string arg_str;
|
||||
int64_t cluster_id_to_clean = OB_INVALID_TENANT_ID;
|
||||
|
||||
if (cmd_ == action_name_) {
|
||||
ret = OB_INVALID_ARGUMENT;
|
||||
ADMIN_WARN("should provide cluster_id arb_svr_ip arb_svr_port");
|
||||
} else {
|
||||
arg_str = cmd_.substr(action_name_.length() + 1);
|
||||
}
|
||||
|
||||
if (OB_FAIL(ret)) {
|
||||
} else if (1 != sscanf(arg_str.c_str(), "%ld", &cluster_id_to_clean)) {
|
||||
ret = OB_INVALID_ARGUMENT;
|
||||
COMMON_LOG(WARN, "invalid arg", K(ret), K(arg_str.c_str()), K(cmd_.c_str()), K(cluster_id_to_clean));
|
||||
} else if (false == is_valid_cluster_id(cluster_id_to_clean)) {
|
||||
COMMON_LOG(WARN, "invalid cluster_id", K(ret), K(cluster_id_to_clean));
|
||||
} else {
|
||||
ObForceClearArbClusterInfoArg arg(cluster_id_to_clean);
|
||||
if (OB_FAIL(client_->force_clear_arb_cluster_info(arg))) {
|
||||
COMMON_LOG(ERROR, "send req fail", K(ret));
|
||||
}
|
||||
}
|
||||
COMMON_LOG(INFO, "force_clear_arb_cluster_info", K(cluster_id_to_clean));
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user