[fix] fix the committed_end_lsn can not be advanced after removing member
This commit is contained in:
@ -113,8 +113,10 @@ public:
|
||||
return ret;
|
||||
}
|
||||
int get_log_sync_member_list_for_generate_committed_lsn(
|
||||
ObMemberList &member_list,
|
||||
int64_t &replica_num,
|
||||
ObMemberList &prev_member_list,
|
||||
int64_t &prev_replica_num,
|
||||
ObMemberList &curr_member_list,
|
||||
int64_t &curr_replica_num,
|
||||
bool &is_before_barrier,
|
||||
LSN &barrier_lsn) const
|
||||
{
|
||||
@ -126,20 +128,19 @@ public:
|
||||
if (IS_NOT_INIT) {
|
||||
ret = OB_NOT_INIT;
|
||||
PALF_LOG(WARN, "LogConfigMgr not init", KR(ret));
|
||||
} else if (OB_FAIL(curr_member_list.deep_copy(log_ms_meta_.curr_.config_.log_sync_memberlist_))) {
|
||||
PALF_LOG(WARN, "deep_copy member_list failed", KR(ret), K_(palf_id), K_(self));
|
||||
} else if (FALSE_IT(curr_replica_num = log_ms_meta_.curr_.config_.log_sync_replica_num_)) {
|
||||
} else if (OB_UNLIKELY(prev_committed_end_lsn < reconfig_barrier_.prev_end_lsn_ &&
|
||||
reconfig_barrier_.prev_end_lsn_.is_valid())) {
|
||||
is_before_barrier = true;
|
||||
barrier_lsn = reconfig_barrier_.prev_end_lsn_;
|
||||
if (OB_FAIL(member_list.deep_copy(log_ms_meta_.prev_.config_.log_sync_memberlist_))) {
|
||||
if (OB_FAIL(prev_member_list.deep_copy(log_ms_meta_.prev_.config_.log_sync_memberlist_))) {
|
||||
PALF_LOG(WARN, "deep_copy member_list failed", KR(ret), K_(palf_id), K_(self));
|
||||
} else {
|
||||
replica_num = log_ms_meta_.prev_.config_.log_sync_replica_num_;
|
||||
prev_replica_num = log_ms_meta_.prev_.config_.log_sync_replica_num_;
|
||||
}
|
||||
} else if (OB_FAIL(member_list.deep_copy(log_ms_meta_.curr_.config_.log_sync_memberlist_))) {
|
||||
PALF_LOG(WARN, "deep_copy member_list failed", KR(ret), K_(palf_id), K_(self));
|
||||
} else {
|
||||
replica_num = log_ms_meta_.curr_.config_.log_sync_replica_num_;
|
||||
}
|
||||
} else { }
|
||||
return ret;
|
||||
}
|
||||
int get_alive_member_list_with_arb(common::ObMemberList &member_list, int64_t &replica_num) const
|
||||
|
||||
Reference in New Issue
Block a user