[FEAT MERGE] merge transfer

Co-authored-by: wxhwang <wxhwang@126.com>
Co-authored-by: godyangfight <godyangfight@gmail.com>
Co-authored-by: Tyshawn <tuyunshan@gmail.com>
This commit is contained in:
xuhuleon
2023-06-21 11:42:26 +00:00
committed by ob-robot
parent d06678002e
commit 9dae112952
1280 changed files with 149724 additions and 48813 deletions

View File

@ -244,7 +244,7 @@ TEST_F(TestLSStatusOperator, LSLifeAgent)
scn.convert_for_logservice(99);
ret = recovery_stat.init_only_recovery_stat(tenant_id_, ls_id, scn, scn);
ASSERT_EQ(OB_SUCCESS, ret);
ret = recovery_op.update_ls_recovery_stat(recovery_stat, get_curr_simple_server().get_observer().get_mysql_proxy());
ret = recovery_op.update_ls_recovery_stat(recovery_stat, false, get_curr_simple_server().get_observer().get_mysql_proxy());
ASSERT_EQ(OB_SUCCESS, ret);
ret = ls_life.drop_ls(tenant_id_, ls_id, share::NORMAL_SWITCHOVER_STATUS);
ASSERT_EQ(OB_NEED_RETRY, ret);
@ -254,7 +254,7 @@ TEST_F(TestLSStatusOperator, LSLifeAgent)
ret = recovery_stat.init_only_recovery_stat(tenant_id_, ls_id, scn, recovery_scn);
ASSERT_EQ(OB_SUCCESS, ret);
//recovery_stat的取最大值
ret = recovery_op.update_ls_recovery_stat(recovery_stat, get_curr_simple_server().get_observer().get_mysql_proxy());
ret = recovery_op.update_ls_recovery_stat(recovery_stat, false, get_curr_simple_server().get_observer().get_mysql_proxy());
ASSERT_EQ(OB_SUCCESS, ret);
ret = ls_life.drop_ls(tenant_id_, ls_id, share::NORMAL_SWITCHOVER_STATUS);
@ -262,7 +262,7 @@ TEST_F(TestLSStatusOperator, LSLifeAgent)
scn.convert_for_logservice(100);
ret = recovery_stat.init_only_recovery_stat(tenant_id_, ls_id, scn, recovery_scn);
ASSERT_EQ(OB_SUCCESS, ret);
ret = recovery_op.update_ls_recovery_stat(recovery_stat, get_curr_simple_server().get_observer().get_mysql_proxy());
ret = recovery_op.update_ls_recovery_stat(recovery_stat, false, get_curr_simple_server().get_observer().get_mysql_proxy());
ASSERT_EQ(OB_SUCCESS, ret);
ret = ls_life.drop_ls(tenant_id_, ls_id, share::NORMAL_SWITCHOVER_STATUS);
ASSERT_EQ(OB_SUCCESS, ret);
@ -295,59 +295,6 @@ TEST_F(TestLSStatusOperator, add_tenant)
ASSERT_EQ(OB_ITER_END, ret);
}*/
TEST_F(TestLSStatusOperator, test_check_ls_exist)
{
uint64_t user_tenant_id = OB_INVALID_TENANT_ID;
ASSERT_EQ(OB_SUCCESS, create_tenant());
ASSERT_EQ(OB_SUCCESS, get_tenant_id(user_tenant_id));
uint64_t meta_tenant_id = gen_meta_tenant_id(user_tenant_id);
ObLSID user_ls_id(1001);
ObLSID uncreated_ls_id(6666);
ObLSID invalid_ls_id(123);
const uint64_t not_exist_tenant_id = 1234;
ObLSStatusOperator::ObLSExistState state;
// user tenant
ASSERT_EQ(OB_SUCCESS, ObLSStatusOperator::check_ls_exist(user_tenant_id, SYS_LS, state));
ASSERT_TRUE(state.is_existing());
state.reset();
ASSERT_EQ(OB_SUCCESS, ObLSStatusOperator::check_ls_exist(user_tenant_id, user_ls_id, state));
ASSERT_TRUE(state.is_existing());
state.reset();
ASSERT_EQ(OB_SUCCESS, ObLSStatusOperator::check_ls_exist(user_tenant_id, uncreated_ls_id, state));
ASSERT_TRUE(state.is_uncreated());
common::ObMySQLProxy &inner_proxy = get_curr_simple_server().get_observer().get_mysql_proxy();
ObSqlString sql;
int64_t affected_rows = 0;
ASSERT_EQ(OB_SUCCESS, sql.assign_fmt("delete from oceanbase.__all_ls_status where tenant_id = %lu and ls_id = %ld", user_tenant_id, ObLSID::SYS_LS_ID));
ASSERT_EQ(OB_SUCCESS, inner_proxy.write(ObLSLifeIAgent::get_exec_tenant_id(user_tenant_id), sql.ptr(), affected_rows));
state.reset();
ASSERT_EQ(OB_SUCCESS, ObLSStatusOperator::check_ls_exist(user_tenant_id, SYS_LS, state));
ASSERT_TRUE(state.is_deleted());
ASSERT_EQ(OB_INVALID_ARGUMENT, ObLSStatusOperator::check_ls_exist(user_tenant_id, invalid_ls_id, state));
// meta tenant
state.reset();
ASSERT_EQ(OB_SUCCESS, ObLSStatusOperator::check_ls_exist(meta_tenant_id, SYS_LS, state));
ASSERT_TRUE(state.is_existing());
ASSERT_EQ(OB_INVALID_ARGUMENT, ObLSStatusOperator::check_ls_exist(meta_tenant_id, user_ls_id, state));
ASSERT_EQ(OB_INVALID_ARGUMENT, ObLSStatusOperator::check_ls_exist(meta_tenant_id, invalid_ls_id, state));
// sys tenant
state.reset();
ASSERT_EQ(OB_SUCCESS, ObLSStatusOperator::check_ls_exist(OB_SYS_TENANT_ID, SYS_LS, state));
ASSERT_TRUE(state.is_existing());
ASSERT_EQ(OB_INVALID_ARGUMENT, ObLSStatusOperator::check_ls_exist(OB_SYS_TENANT_ID, user_ls_id, state));
ASSERT_EQ(OB_INVALID_ARGUMENT, ObLSStatusOperator::check_ls_exist(OB_SYS_TENANT_ID, invalid_ls_id, state));
// not exist tenant
ASSERT_EQ(OB_TENANT_NOT_EXIST, ObLSStatusOperator::check_ls_exist(not_exist_tenant_id, SYS_LS, state));
}
} // namespace share
} // namespace oceanbase