Fix rebuild cases

This commit is contained in:
godyangfight
2023-08-09 02:42:41 +00:00
committed by ob-robot
parent 2ad79e84dc
commit 08666bea99
4 changed files with 26 additions and 5 deletions

File diff suppressed because one or more lines are too long

View File

@ -657,6 +657,7 @@ DEFINE_ORACLE_ERROR(OB_ERR_USE_ROWID_FOR_UPDATE, -4763, -1, "HY000", "invalid us
DEFINE_ORACLE_ERROR_EXT(OB_ERR_UNKNOWN_SET_OPTION, -4764, -1, "HY000", "unknown SET option", "unknown SET option \'%s\'", 600, "unknown SET option", "unknown SET option \'%s\'"); DEFINE_ORACLE_ERROR_EXT(OB_ERR_UNKNOWN_SET_OPTION, -4764, -1, "HY000", "unknown SET option", "unknown SET option \'%s\'", 600, "unknown SET option", "unknown SET option \'%s\'");
DEFINE_ERROR_EXT_DEP(OB_CREATE_STANDBY_TENANT_FAILED, -4765, -1, "HY000", "create standby tenant may fail", "create standby tenant may fail, %s"); DEFINE_ERROR_EXT_DEP(OB_CREATE_STANDBY_TENANT_FAILED, -4765, -1, "HY000", "create standby tenant may fail", "create standby tenant may fail, %s");
DEFINE_ERROR_EXT_DEP(OB_LS_WAITING_SAFE_DESTROY, -4766, -1, "HY000", "ls waiting safe destory", "ls waiting safe destory, %s"); DEFINE_ERROR_EXT_DEP(OB_LS_WAITING_SAFE_DESTROY, -4766, -1, "HY000", "ls waiting safe destory", "ls waiting safe destory, %s");
DEFINE_ERROR(OB_LS_NOT_LEADER, -4767, -1, "HY000", "log stream is not leader log stream");
//////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////
// SQL & Schema specific error code, -5000 ~ -6000 // SQL & Schema specific error code, -5000 ~ -6000

View File

@ -458,6 +458,7 @@ constexpr int OB_LS_IS_DELETED = -4761;
constexpr int OB_SKIP_CHECKING_LS_STATUS = -4762; constexpr int OB_SKIP_CHECKING_LS_STATUS = -4762;
constexpr int OB_ERR_USE_ROWID_FOR_UPDATE = -4763; constexpr int OB_ERR_USE_ROWID_FOR_UPDATE = -4763;
constexpr int OB_ERR_UNKNOWN_SET_OPTION = -4764; constexpr int OB_ERR_UNKNOWN_SET_OPTION = -4764;
constexpr int OB_LS_NOT_LEADER = -4767;
constexpr int OB_ERR_PARSER_INIT = -5000; constexpr int OB_ERR_PARSER_INIT = -5000;
constexpr int OB_ERR_PARSE_SQL = -5001; constexpr int OB_ERR_PARSE_SQL = -5001;
constexpr int OB_ERR_RESOLVE_SQL = -5002; constexpr int OB_ERR_RESOLVE_SQL = -5002;
@ -2329,6 +2330,7 @@ constexpr int OB_ERR_INVALID_DATE_MSG_FMT_V2 = -4219;
#define OB_ERR_UNKNOWN_SET_OPTION__USER_ERROR_MSG "unknown SET option \'%s\'" #define OB_ERR_UNKNOWN_SET_OPTION__USER_ERROR_MSG "unknown SET option \'%s\'"
#define OB_CREATE_STANDBY_TENANT_FAILED__USER_ERROR_MSG "create standby tenant may fail, %s" #define OB_CREATE_STANDBY_TENANT_FAILED__USER_ERROR_MSG "create standby tenant may fail, %s"
#define OB_LS_WAITING_SAFE_DESTROY__USER_ERROR_MSG "ls waiting safe destory, %s" #define OB_LS_WAITING_SAFE_DESTROY__USER_ERROR_MSG "ls waiting safe destory, %s"
#define OB_LS_NOT_LEADER__USER_ERROR_MSG "log stream is not leader log stream"
#define OB_ERR_PARSER_INIT__USER_ERROR_MSG "Failed to init SQL parser" #define OB_ERR_PARSER_INIT__USER_ERROR_MSG "Failed to init SQL parser"
#define OB_ERR_PARSE_SQL__USER_ERROR_MSG "%s near \'%.*s\' at line %d" #define OB_ERR_PARSE_SQL__USER_ERROR_MSG "%s near \'%.*s\' at line %d"
#define OB_ERR_RESOLVE_SQL__USER_ERROR_MSG "Resolve error" #define OB_ERR_RESOLVE_SQL__USER_ERROR_MSG "Resolve error"
@ -4437,6 +4439,7 @@ constexpr int OB_ERR_INVALID_DATE_MSG_FMT_V2 = -4219;
#define OB_ERR_UNKNOWN_SET_OPTION__ORA_USER_ERROR_MSG "ORA-00600: unknown SET option \'%s\'" #define OB_ERR_UNKNOWN_SET_OPTION__ORA_USER_ERROR_MSG "ORA-00600: unknown SET option \'%s\'"
#define OB_CREATE_STANDBY_TENANT_FAILED__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -4765, create standby tenant may fail, %s" #define OB_CREATE_STANDBY_TENANT_FAILED__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -4765, create standby tenant may fail, %s"
#define OB_LS_WAITING_SAFE_DESTROY__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -4766, ls waiting safe destory, %s" #define OB_LS_WAITING_SAFE_DESTROY__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -4766, ls waiting safe destory, %s"
#define OB_LS_NOT_LEADER__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -4767, log stream is not leader log stream"
#define OB_ERR_PARSER_INIT__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -5000, Failed to init SQL parser" #define OB_ERR_PARSER_INIT__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -5000, Failed to init SQL parser"
#define OB_ERR_PARSE_SQL__ORA_USER_ERROR_MSG "ORA-00900: %s near \'%.*s\' at line %d" #define OB_ERR_PARSE_SQL__ORA_USER_ERROR_MSG "ORA-00900: %s near \'%.*s\' at line %d"
#define OB_ERR_RESOLVE_SQL__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -5002, Resolve error" #define OB_ERR_RESOLVE_SQL__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -5002, Resolve error"
@ -5986,7 +5989,7 @@ constexpr int OB_ERR_INVALID_DATE_MSG_FMT_V2 = -4219;
#define OB_ERR_DATA_TOO_LONG_MSG_FMT_V2__ORA_USER_ERROR_MSG "ORA-12899: value too large for column %.*s (actual: %ld, maximum: %ld)" #define OB_ERR_DATA_TOO_LONG_MSG_FMT_V2__ORA_USER_ERROR_MSG "ORA-12899: value too large for column %.*s (actual: %ld, maximum: %ld)"
#define OB_ERR_INVALID_DATE_MSG_FMT_V2__ORA_USER_ERROR_MSG "ORA-01861: Incorrect datetime value for column '%.*s' at row %ld" #define OB_ERR_INVALID_DATE_MSG_FMT_V2__ORA_USER_ERROR_MSG "ORA-01861: Incorrect datetime value for column '%.*s' at row %ld"
extern int g_all_ob_errnos[2104]; extern int g_all_ob_errnos[2105];
const char *ob_error_name(const int oberr); const char *ob_error_name(const int oberr);
const char* ob_error_cause(const int oberr); const char* ob_error_cause(const int oberr);

View File

@ -1798,6 +1798,7 @@ int ObFetchLSMemberListP::process()
logservice::ObLogService *log_service = nullptr; logservice::ObLogService *log_service = nullptr;
ObRole role; ObRole role;
int64_t proposal_id = 0; int64_t proposal_id = 0;
ObAddr election_leader;
if (tenant_id != MTL_ID()) { if (tenant_id != MTL_ID()) {
ret = OB_ERR_UNEXPECTED; ret = OB_ERR_UNEXPECTED;
LOG_WARN("rpc get member list tenant not match", K(ret), K(tenant_id)); LOG_WARN("rpc get member list tenant not match", K(ret), K(tenant_id));
@ -1806,9 +1807,6 @@ int ObFetchLSMemberListP::process()
LOG_WARN("log service should not be NULL", K(ret), KP(log_service)); LOG_WARN("log service should not be NULL", K(ret), KP(log_service));
} else if (OB_FAIL(log_service->get_palf_role(ls_id, role, proposal_id))) { } else if (OB_FAIL(log_service->get_palf_role(ls_id, role, proposal_id))) {
LOG_WARN("failed to get role", K(ret), "arg", arg_); LOG_WARN("failed to get role", K(ret), "arg", arg_);
} else if (!is_strong_leader(role)) {
ret = OB_PARTITION_NOT_LEADER;
LOG_WARN("ls is not leader, cannot get member list", K(ret), K(role), K(arg_));
} else if (OB_ISNULL(ls_svr = MTL(ObLSService *))) { } else if (OB_ISNULL(ls_svr = MTL(ObLSService *))) {
ret = OB_ERR_UNEXPECTED; ret = OB_ERR_UNEXPECTED;
LOG_WARN("ls service should not be null", K(ret)); LOG_WARN("ls service should not be null", K(ret));
@ -1820,6 +1818,12 @@ int ObFetchLSMemberListP::process()
} else if (OB_ISNULL(log_handler = ls->get_log_handler())) { } else if (OB_ISNULL(log_handler = ls->get_log_handler())) {
ret = OB_ERR_UNEXPECTED; ret = OB_ERR_UNEXPECTED;
LOG_WARN("log handler should not be NULL", K(ret)); LOG_WARN("log handler should not be NULL", K(ret));
} else if (OB_FAIL(log_handler->get_election_leader(election_leader))) {
LOG_WARN("failed to get election leader", K(ret), KPC(ls));
} else if (!is_strong_leader(role) && GCTX.self_addr() != election_leader) {
ret = OB_LS_NOT_LEADER;
LOG_WARN("ls is not leader, cannot get member list", K(ret), K(role), K(arg_),
K(election_leader), "self", GCTX.self_addr());
} else if (OB_FAIL(log_handler->get_paxos_member_list(member_list, paxos_replica_num))) { } else if (OB_FAIL(log_handler->get_paxos_member_list(member_list, paxos_replica_num))) {
LOG_WARN("failed to get paxos member list", K(ret)); LOG_WARN("failed to get paxos member list", K(ret));
} else if (OB_FAIL(result_.member_list_.deep_copy(member_list))) { } else if (OB_FAIL(result_.member_list_.deep_copy(member_list))) {