Need not replay a tablet record in a retain part_ctx

This commit is contained in:
KyrielightWei 2023-05-11 13:15:21 +00:00 committed by ob-robot
parent 4381d4ce17
commit 14a742ce0f
2 changed files with 11 additions and 7 deletions

View File

@ -161,37 +161,40 @@ TEST_F(TestLSStatusOperator, LSLifeAgent)
//设置初始成员列表
ObMemberList member_list;
ObMember arb_member;
common::GlobalLearnerList learner_list;
ObAddr server1(common::ObAddr::IPV4, "127.1.1.1", 2882);
ObAddr server2(common::ObAddr::IPV4, "127.1.1.1", 3882);
ASSERT_EQ(OB_SUCCESS, member_list.add_server(server1));
ASSERT_EQ(OB_SUCCESS, member_list.add_server(server2));
ret = status_operator.update_init_member_list(tenant_id_, ls_id, member_list,
get_curr_simple_server().get_observer().get_mysql_proxy(), arb_member);
get_curr_simple_server().get_observer().get_mysql_proxy(), arb_member, learner_list);
ASSERT_EQ(OB_SUCCESS, ret);
ObLSStatusInfo new_status_info;
ObMemberList new_list;
ret = status_operator.get_ls_init_member_list(tenant_id_, ls_id, new_list, new_status_info,
get_curr_simple_server().get_observer().get_mysql_proxy(), arb_member);
get_curr_simple_server().get_observer().get_mysql_proxy(), arb_member, learner_list);
ASSERT_EQ(OB_SUCCESS, ret);
//创建新日志流
ObLSStatusInfo new_status_info2;
ObLSID ls_id3(1003);
ret = new_status_info2.init(tenant_id_, ls_id3, 0, share::OB_LS_CREATING, 0, primary_zone);
ret = new_status_info2.init(tenant_id_, ls_id3, 0, share::OB_LS_CREATING, 0, primary_zone, flag);
ASSERT_EQ(OB_SUCCESS, ret);
ret = ls_life.create_new_ls(new_status_info2, create_scn, zone_priority.str(), share::NORMAL_SWITCHOVER_STATUS);
ASSERT_EQ(OB_SUCCESS, ret);
ObAddr server4(common::ObAddr::IPV4, "127.1.1.1", 4882);
ObMember arb_member2(server4, 0);
common::GlobalLearnerList learner_list2;
ret = status_operator.update_init_member_list(tenant_id_, ls_id3, member_list,
get_curr_simple_server().get_observer().get_mysql_proxy(), arb_member2);
get_curr_simple_server().get_observer().get_mysql_proxy(), arb_member2, learner_list2);
ASSERT_EQ(OB_SUCCESS, ret);
ObLSStatusInfo new_status_info3;
ObMemberList new_list2;
ObMember arb_member3;
common::GlobalLearnerList learner_list3;
ret = status_operator.get_ls_init_member_list(tenant_id_, ls_id3, new_list2, new_status_info3,
get_curr_simple_server().get_observer().get_mysql_proxy(), arb_member3);
get_curr_simple_server().get_observer().get_mysql_proxy(), arb_member3, learner_list3);
ASSERT_EQ(OB_SUCCESS, ret);
//设置日志流offline的参数检查

View File

@ -6543,8 +6543,9 @@ int ObPartTransCtx::merge_tablet_modify_record(const common::ObTabletID &tablet_
CtxLockGuard guard(lock_);
if (is_exiting_) {
ret = OB_TRANS_CTX_NOT_EXIST;
TRANS_LOG(WARN, "exiting part_ctx", K(ret), K(tablet_id), KPC(this));
// ret = OB_TRANS_CTX_NOT_EXIST;
TRANS_LOG(WARN, "merge tablet modify record into a exiting part_ctx", K(ret), K(tablet_id),
KPC(this));
} else if (!is_follower_()) {
ret = OB_NOT_FOLLOWER;
TRANS_LOG(WARN, "can not invoke on leader", K(ret), K(tablet_id), KPC(this));