From 7157cd03d17309524be829a456566595a3726ea9 Mon Sep 17 00:00:00 2001 From: obdev Date: Mon, 20 Feb 2023 02:44:45 +0000 Subject: [PATCH] add log for positioning OB_DISK_CORRUPTED and OB_IO_ERROR replay issue --- src/logservice/replayservice/ob_replay_status.cpp | 5 ++++- src/share/io/ob_io_manager.cpp | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/logservice/replayservice/ob_replay_status.cpp b/src/logservice/replayservice/ob_replay_status.cpp index adcd212897..56451fb149 100644 --- a/src/logservice/replayservice/ob_replay_status.cpp +++ b/src/logservice/replayservice/ob_replay_status.cpp @@ -1297,7 +1297,10 @@ bool ObReplayStatus::is_fatal_error(const int ret) const return (OB_SUCCESS != ret && OB_ALLOCATE_MEMORY_FAILED != ret && OB_EAGAIN != ret - && OB_NOT_RUNNING != ret); + && OB_NOT_RUNNING != ret + // for temporary positioning issue + && OB_IO_ERROR != ret + && OB_DISK_CORRUPTED != ret); } int ObReplayStatus::submit_task_to_replay_service_(ObReplayServiceTask &task) diff --git a/src/share/io/ob_io_manager.cpp b/src/share/io/ob_io_manager.cpp index dec95e0e1f..28cafd2aba 100644 --- a/src/share/io/ob_io_manager.cpp +++ b/src/share/io/ob_io_manager.cpp @@ -712,7 +712,8 @@ int ObTenantIOManager::inner_aio(const ObIOInfo &info, ObIOHandle &handle) } else if (NULL != detector && detector->is_data_disk_has_fatal_error()) { // also consider slog writer hung ret = OB_DISK_CORRUPTED; - LOG_WARN("data disk has fatal error", K(ret)); + // for temporary positioning issue, get lbt of log replay + LOG_DBA_ERROR(OB_DISK_CORRUPTED, "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))) {