fix get_ls_init_member_list

This commit is contained in:
maosy
2023-05-10 05:24:47 +00:00
committed by ob-robot
parent 5eef4de86d
commit ce48d4640d
2 changed files with 41 additions and 2 deletions

View File

@ -72,7 +72,7 @@ TEST_F(TestLSStatusOperator, SQLProxy)
ret = inner_proxy.read(res, sql.ptr());
ASSERT_EQ(OB_SUCCESS, ret);
ret = inner_proxy.read(res, cluster_id, OB_SYS_TENANT_ID, sql.ptr());
ASSERT_EQ(OB_LS_LOCATION_NOT_EXIST, ret);
ASSERT_EQ(OB_TIMEOUT, ret);
ret = inner_proxy.read(res, local_cluster_id, OB_SYS_TENANT_ID, sql.ptr());
ASSERT_EQ(OB_SUCCESS, ret);
ret = inner_proxy.read(res, OB_INVALID_CLUSTER_ID, OB_SYS_TENANT_ID, sql.ptr());
@ -157,6 +157,42 @@ TEST_F(TestLSStatusOperator, LSLifeAgent)
ret = ls_life.create_new_ls(info, create_scn, zone_priority.str(), share::NORMAL_SWITCHOVER_STATUS);
ASSERT_EQ(OB_SUCCESS, ret);
//设置初始成员列表
ObMemberList member_list;
ObMember arb_member;
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);
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);
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);
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);
ret = status_operator.update_init_member_list(tenant_id_, ls_id3, member_list,
get_curr_simple_server().get_observer().get_mysql_proxy(), arb_member2);
ASSERT_EQ(OB_SUCCESS, ret);
ObLSStatusInfo new_status_info3;
ObMemberList new_list2;
ObMember arb_member3;
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);
ASSERT_EQ(OB_SUCCESS, ret);
//设置日志流offline的参数检查
share::SCN invalid_scn;
ret = ls_life.set_ls_offline(tenant_id_, SYS_LS, share::OB_LS_DROPPING, invalid_scn, share::NORMAL_SWITCHOVER_STATUS);