modify errcode OB_DISK_CORRUPTED to OB_DISK_HUNG
This commit is contained in:
@ -340,7 +340,7 @@ void ObFailureDetector::detect_palf_hang_failure_()
|
||||
COORDINATOR_LOG(ERROR, "add_failure_event failed", K(ret), K(clog_disk_hang_event));
|
||||
} else {
|
||||
ATOMIC_SET(&has_add_clog_hang_event_, true);
|
||||
LOG_DBA_ERROR(OB_DISK_CORRUPTED, "msg", "clog disk may be hung, add failure event", K(clog_disk_hang_event),
|
||||
LOG_DBA_ERROR(OB_DISK_HUNG, "msg", "clog disk may be hung, add failure event", K(clog_disk_hang_event),
|
||||
K(clog_disk_last_working_time), "hung time", now - clog_disk_last_working_time);
|
||||
}
|
||||
} else {
|
||||
@ -376,7 +376,7 @@ void ObFailureDetector::detect_slog_writer_hang_failure_()
|
||||
COORDINATOR_LOG(ERROR, "add_failure_event failed", K(ret), K(slog_writer_hang_event));
|
||||
} else {
|
||||
ATOMIC_SET(&has_add_slog_hang_event_, true);
|
||||
LOG_DBA_ERROR(OB_DISK_CORRUPTED, "msg", "slog writer may be hung, add failure event", K(slog_writer_hang_event),
|
||||
LOG_DBA_ERROR(OB_DISK_HUNG, "msg", "slog writer may be hung, add failure event", K(slog_writer_hang_event),
|
||||
K(slog_writer_last_working_time), "hung time", now - slog_writer_last_working_time);
|
||||
}
|
||||
} else {
|
||||
@ -412,7 +412,7 @@ void ObFailureDetector::detect_sstable_io_failure_()
|
||||
COORDINATOR_LOG(ERROR, "add_failure_event failed", K(ret), K(sstable_io_hang_event));
|
||||
} else {
|
||||
ATOMIC_SET(&has_add_sstable_hang_event_, true);
|
||||
LOG_DBA_ERROR(OB_DISK_CORRUPTED, "msg", "data disk may be hung, add failure event", K(sstable_io_hang_event),
|
||||
LOG_DBA_ERROR(OB_DISK_HUNG, "msg", "data disk may be hung, add failure event", K(sstable_io_hang_event),
|
||||
K(data_disk_error_start_ts));
|
||||
}
|
||||
} else {
|
||||
|
||||
@ -1300,7 +1300,7 @@ bool ObReplayStatus::is_fatal_error(const int ret) const
|
||||
&& OB_NOT_RUNNING != ret
|
||||
// for temporary positioning issue
|
||||
&& OB_IO_ERROR != ret
|
||||
&& OB_DISK_CORRUPTED != ret);
|
||||
&& OB_DISK_HUNG != ret);
|
||||
}
|
||||
|
||||
int ObReplayStatus::submit_task_to_replay_service_(ObReplayServiceTask &task)
|
||||
|
||||
@ -960,7 +960,7 @@ int ObQueryRetryCtrl::init()
|
||||
ERR_RETRY_FUNC("STORAGE", OB_DATA_NOT_UPTODATE, long_wait_retry_proc, short_wait_retry_proc);
|
||||
ERR_RETRY_FUNC("STORAGE", OB_REPLICA_NOT_READABLE, long_wait_retry_proc, short_wait_retry_proc);
|
||||
ERR_RETRY_FUNC("STORAGE", OB_PARTITION_IS_SPLITTING, short_wait_retry_proc, short_wait_retry_proc);
|
||||
ERR_RETRY_FUNC("STORAGE", OB_DISK_CORRUPTED, nonblock_location_error_proc, empty_proc);
|
||||
ERR_RETRY_FUNC("STORAGE", OB_DISK_HUNG, nonblock_location_error_proc, empty_proc);
|
||||
|
||||
/* trx */
|
||||
ERR_RETRY_FUNC("TRX", OB_TRY_LOCK_ROW_CONFLICT, try_lock_row_conflict_proc, inner_try_lock_row_conflict_proc);
|
||||
|
||||
@ -711,9 +711,9 @@ int ObTenantIOManager::inner_aio(const ObIOInfo &info, ObIOHandle &handle)
|
||||
LOG_WARN("tenant not working", K(ret), K(tenant_id_));
|
||||
} else if (NULL != detector &&
|
||||
detector->is_data_disk_has_fatal_error()) { // also consider slog writer hung
|
||||
ret = OB_DISK_CORRUPTED;
|
||||
ret = OB_DISK_HUNG;
|
||||
// for temporary positioning issue, get lbt of log replay
|
||||
LOG_DBA_ERROR(OB_DISK_CORRUPTED, "msg", "data disk has fatal error");
|
||||
LOG_DBA_ERROR(OB_DISK_HUNG, "msg", "data disk has fatal error");
|
||||
} else if (OB_FAIL(alloc_io_request(io_allocator_, callback_size, req))) {
|
||||
LOG_WARN("alloc io request failed", K(ret), KP(req));
|
||||
} else if (FALSE_IT(req->tenant_io_mgr_.hold(this))) {
|
||||
|
||||
@ -4257,17 +4257,17 @@ static const _error _error_OB_DDL_SSTABLE_RANGE_CROSS = {
|
||||
.oracle_str_error = "ORA-00600: internal error code, arguments: -4391, ddl sstable version range cross",
|
||||
.oracle_str_user_error = "ORA-00600: internal error code, arguments: -4391, ddl sstable version range cross"
|
||||
};
|
||||
static const _error _error_OB_DISK_CORRUPTED = {
|
||||
.error_name = "OB_DISK_CORRUPTED",
|
||||
static const _error _error_OB_DISK_HUNG = {
|
||||
.error_name = "OB_DISK_HUNG",
|
||||
.error_cause = "Internal Error",
|
||||
.error_solution = "Contact OceanBase Support",
|
||||
.mysql_errno = -1,
|
||||
.sqlstate = "HY000",
|
||||
.str_error = "disk is corrupted",
|
||||
.str_user_error = "disk is corrupted",
|
||||
.str_error = "disk is hung",
|
||||
.str_user_error = "disk is hung",
|
||||
.oracle_errno = 600,
|
||||
.oracle_str_error = "ORA-00600: internal error code, arguments: -4392, disk is corrupted",
|
||||
.oracle_str_user_error = "ORA-00600: internal error code, arguments: -4392, disk is corrupted"
|
||||
.oracle_str_error = "ORA-00600: internal error code, arguments: -4392, disk is hung",
|
||||
.oracle_str_user_error = "ORA-00600: internal error code, arguments: -4392, disk is hung"
|
||||
};
|
||||
static const _error _error_OB_ERR_OBSERVER_START = {
|
||||
.error_name = "OB_ERR_OBSERVER_START",
|
||||
@ -24657,7 +24657,7 @@ struct ObStrErrorInit
|
||||
_errors[-OB_ERR_TOO_MUCH_TIME] = &_error_OB_ERR_TOO_MUCH_TIME;
|
||||
_errors[-OB_ERR_REMOTE_SCHEMA_NOT_FULL] = &_error_OB_ERR_REMOTE_SCHEMA_NOT_FULL;
|
||||
_errors[-OB_DDL_SSTABLE_RANGE_CROSS] = &_error_OB_DDL_SSTABLE_RANGE_CROSS;
|
||||
_errors[-OB_DISK_CORRUPTED] = &_error_OB_DISK_CORRUPTED;
|
||||
_errors[-OB_DISK_HUNG] = &_error_OB_DISK_HUNG;
|
||||
_errors[-OB_ERR_OBSERVER_START] = &_error_OB_ERR_OBSERVER_START;
|
||||
_errors[-OB_ERR_OBSERVER_STOP] = &_error_OB_ERR_OBSERVER_STOP;
|
||||
_errors[-OB_ERR_OBSERVICE_START] = &_error_OB_ERR_OBSERVICE_START;
|
||||
|
||||
@ -440,7 +440,7 @@ DEFINE_ERROR_DEP(OB_UNEXPECT_INTERNAL_ERROR, -4388, -1, "HY000", "Unexpected int
|
||||
DEFINE_ERROR_DEP(OB_ERR_TOO_MUCH_TIME, -4389, -1, "HY000", "Porcessing time is too long");
|
||||
DEFINE_ERROR(OB_ERR_REMOTE_SCHEMA_NOT_FULL, -4390, -1, "HY000", "Schema of remote server is not refreshed yet");
|
||||
DEFINE_ERROR(OB_DDL_SSTABLE_RANGE_CROSS, -4391, -1, "HY000", "ddl sstable version range cross");
|
||||
DEFINE_ERROR(OB_DISK_CORRUPTED, -4392, -1, "HY000", "disk is corrupted");
|
||||
DEFINE_ERROR(OB_DISK_HUNG, -4392, -1, "HY000", "disk is hung");
|
||||
DEFINE_ERROR(OB_ERR_OBSERVER_START, -4393, -1, "HY000", "observer start process failure");
|
||||
DEFINE_ERROR(OB_ERR_OBSERVER_STOP, -4394, -1, "HY000", "observer stop process failure");
|
||||
DEFINE_ERROR(OB_ERR_OBSERVICE_START, -4395, -1, "HY000", "observice start process has failure");
|
||||
|
||||
@ -258,7 +258,7 @@ constexpr int OB_NOT_ALLOW_REMOVING_LEADER = -4386;
|
||||
constexpr int OB_NEED_SWITCH_CONSUMER_GROUP = -4387;
|
||||
constexpr int OB_ERR_REMOTE_SCHEMA_NOT_FULL = -4390;
|
||||
constexpr int OB_DDL_SSTABLE_RANGE_CROSS = -4391;
|
||||
constexpr int OB_DISK_CORRUPTED = -4392;
|
||||
constexpr int OB_DISK_HUNG = -4392;
|
||||
constexpr int OB_ERR_OBSERVER_START = -4393;
|
||||
constexpr int OB_ERR_OBSERVER_STOP = -4394;
|
||||
constexpr int OB_ERR_OBSERVICE_START = -4395;
|
||||
@ -2047,7 +2047,7 @@ constexpr int OB_ERR_INVALID_DATE_MSG_FMT_V2 = -4219;
|
||||
#define OB_ERR_TOO_MUCH_TIME__USER_ERROR_MSG "Porcessing time is too long"
|
||||
#define OB_ERR_REMOTE_SCHEMA_NOT_FULL__USER_ERROR_MSG "Schema of remote server is not refreshed yet"
|
||||
#define OB_DDL_SSTABLE_RANGE_CROSS__USER_ERROR_MSG "ddl sstable version range cross"
|
||||
#define OB_DISK_CORRUPTED__USER_ERROR_MSG "disk is corrupted"
|
||||
#define OB_DISK_HUNG__USER_ERROR_MSG "disk is hung"
|
||||
#define OB_ERR_OBSERVER_START__USER_ERROR_MSG "observer start process failure"
|
||||
#define OB_ERR_OBSERVER_STOP__USER_ERROR_MSG "observer stop process failure"
|
||||
#define OB_ERR_OBSERVICE_START__USER_ERROR_MSG "observice start process has failure"
|
||||
@ -4073,7 +4073,7 @@ constexpr int OB_ERR_INVALID_DATE_MSG_FMT_V2 = -4219;
|
||||
#define OB_ERR_TOO_MUCH_TIME__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -4389, Porcessing time is too long"
|
||||
#define OB_ERR_REMOTE_SCHEMA_NOT_FULL__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -4390, Schema of remote server is not refreshed yet"
|
||||
#define OB_DDL_SSTABLE_RANGE_CROSS__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -4391, ddl sstable version range cross"
|
||||
#define OB_DISK_CORRUPTED__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -4392, disk is corrupted"
|
||||
#define OB_DISK_HUNG__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -4392, disk is hung"
|
||||
#define OB_ERR_OBSERVER_START__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -4393, observer start process failure"
|
||||
#define OB_ERR_OBSERVER_STOP__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -4394, observer stop process failure"
|
||||
#define OB_ERR_OBSERVICE_START__ORA_USER_ERROR_MSG "ORA-00600: internal error code, arguments: -4395, observice start process has failure"
|
||||
|
||||
@ -425,10 +425,10 @@ int ObTxDataSingleRowGetter::get_next_row(ObTxData &tx_data)
|
||||
} else {
|
||||
tx_data_buffers_.reset();
|
||||
ret = get_next_row_(sstables, tx_data);
|
||||
if (OB_TIMEOUT == ret || OB_DISK_CORRUPTED == ret) {
|
||||
if (OB_TIMEOUT == ret || OB_DISK_HUNG == ret) {
|
||||
ret = OB_EAGAIN;
|
||||
STORAGE_LOG(WARN,
|
||||
"modify ret code from OB_TIMEOUT or OB_DISK_CORRUPTED to OB_EAGAIN",
|
||||
"modify ret code from OB_TIMEOUT or OB_DISK_HUNG to OB_EAGAIN",
|
||||
KR(ret));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user