From 5baf712d681c153c461d498c4efa691354c75de4 Mon Sep 17 00:00:00 2001 From: obdev Date: Fri, 24 Feb 2023 16:42:04 +0800 Subject: [PATCH] modify errcode OB_DISK_CORRUPTED to OB_DISK_HUNG --- .../leader_coordinator/ob_failure_detector.cpp | 6 +++--- src/logservice/replayservice/ob_replay_status.cpp | 2 +- src/observer/mysql/ob_query_retry_ctrl.cpp | 2 +- src/share/io/ob_io_manager.cpp | 4 ++-- src/share/ob_errno.cpp | 14 +++++++------- src/share/ob_errno.def | 2 +- src/share/ob_errno.h | 6 +++--- src/storage/tx_table/ob_tx_table_iterator.cpp | 4 ++-- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/logservice/leader_coordinator/ob_failure_detector.cpp b/src/logservice/leader_coordinator/ob_failure_detector.cpp index 75dd489ae5..8f6bd199ec 100644 --- a/src/logservice/leader_coordinator/ob_failure_detector.cpp +++ b/src/logservice/leader_coordinator/ob_failure_detector.cpp @@ -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 { diff --git a/src/logservice/replayservice/ob_replay_status.cpp b/src/logservice/replayservice/ob_replay_status.cpp index 56451fb149..9fedd00bd5 100644 --- a/src/logservice/replayservice/ob_replay_status.cpp +++ b/src/logservice/replayservice/ob_replay_status.cpp @@ -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) diff --git a/src/observer/mysql/ob_query_retry_ctrl.cpp b/src/observer/mysql/ob_query_retry_ctrl.cpp index a10d177baa..f4e4e129de 100644 --- a/src/observer/mysql/ob_query_retry_ctrl.cpp +++ b/src/observer/mysql/ob_query_retry_ctrl.cpp @@ -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); diff --git a/src/share/io/ob_io_manager.cpp b/src/share/io/ob_io_manager.cpp index 28cafd2aba..3d6112cb19 100644 --- a/src/share/io/ob_io_manager.cpp +++ b/src/share/io/ob_io_manager.cpp @@ -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))) { diff --git a/src/share/ob_errno.cpp b/src/share/ob_errno.cpp index 907db0840b..610faacad6 100644 --- a/src/share/ob_errno.cpp +++ b/src/share/ob_errno.cpp @@ -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; diff --git a/src/share/ob_errno.def b/src/share/ob_errno.def index ac1381e415..b3004680b9 100644 --- a/src/share/ob_errno.def +++ b/src/share/ob_errno.def @@ -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"); diff --git a/src/share/ob_errno.h b/src/share/ob_errno.h index 92ccadceca..6f4e8dc1fa 100644 --- a/src/share/ob_errno.h +++ b/src/share/ob_errno.h @@ -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" diff --git a/src/storage/tx_table/ob_tx_table_iterator.cpp b/src/storage/tx_table/ob_tx_table_iterator.cpp index 13c28143d5..85e1a84a4a 100644 --- a/src/storage/tx_table/ob_tx_table_iterator.cpp +++ b/src/storage/tx_table/ob_tx_table_iterator.cpp @@ -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)); } }