提交 28126a0a 编写于 作者: B BinChenn 提交者: ob-robot

[fix] arbitration_service prints WDIAG logs when there is no arb member

上级 65e0d259
......@@ -426,8 +426,9 @@ int LogConfigInfo::get_expected_paxos_memberlist(common::ObMemberList &paxos_mem
if (false == log_sync_memberlist_.is_valid() ||
0 >= log_sync_replica_num_ ||
common::OB_MAX_MEMBER_NUMBER < log_sync_replica_num_) {
ret = OB_NOT_INIT;
PALF_LOG(WARN, "LogConfigInfo not init", KR(ret), K_(log_sync_memberlist), K_(log_sync_replica_num));
// memberlist may be empty when bootstraping cluster, just return empty memberlist
paxos_memberlist.reset();
paxos_replica_num = 0;
} else if (OB_UNLIKELY(degraded_learnerlist_.is_valid())) {
paxos_memberlist = log_sync_memberlist_;
paxos_replica_num = log_sync_replica_num_;
......
......@@ -3715,6 +3715,7 @@ int PalfHandleImpl::inner_flashback(const share::SCN &flashback_scn)
return ret;
}
// TODO by yunlong: this function needs refactoring in 4.2.0.0
int PalfHandleImpl::get_ack_info_array(LogMemberAckInfoList &ack_info_array,
common::GlobalLearnerList &degraded_list) const
{
......@@ -3722,11 +3723,16 @@ int PalfHandleImpl::get_ack_info_array(LogMemberAckInfoList &ack_info_array,
RLockGuard guard(lock_);
const bool is_leader = (state_mgr_.is_leader_active() ||
(state_mgr_.is_leader_reconfirm() && reconfirm_.can_do_degrade()));
common::ObMember arb_member;
config_mgr_.get_arbitration_member(arb_member);
const bool need_degrade_or_upgrade = arb_member.is_valid();
if (IS_NOT_INIT) {
ret = OB_NOT_INIT;
PALF_LOG(WARN, "PalfHandleImpl not inited!!!", K(ret));
} else if (false == is_leader) {
ret = OB_NOT_MASTER;
} else if (false == need_degrade_or_upgrade) {
// do not need degrade or upgrade, skip
} else if (OB_FAIL(sw_.get_ack_info_array(ack_info_array))) {
PALF_LOG(WARN, "get_ack_info_array failed", K(ret), KPC(this));
} else if (OB_FAIL(config_mgr_.get_degraded_learner_list(degraded_list))) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册