diff --git a/src/share/scheduler/ob_dag_scheduler.cpp b/src/share/scheduler/ob_dag_scheduler.cpp index f07e740a28..cfaf74daca 100755 --- a/src/share/scheduler/ob_dag_scheduler.cpp +++ b/src/share/scheduler/ob_dag_scheduler.cpp @@ -876,18 +876,18 @@ int ObIDagNet::add_dag_into_dag_net(ObIDag &dag) { int ret = OB_SUCCESS; void *buf = nullptr; - WEAK_BARRIER(); - ObDagRecord *dag_record = nullptr; int hash_ret = OB_SUCCESS; ObMutexGuard guard(lock_); + WEAK_BARRIER(); + const bool is_stop = is_stopped_; if (OB_NOT_NULL(dag.get_dag_net())) { ret = OB_INVALID_ARGUMENT; COMMON_LOG(WARN, "dag already belongs to a dag_net", K(ret), K(dag)); - } else if (is_stopped_) { + } else if (is_stop) { ret = OB_INNER_STAT_ERROR; - LOG_WARN("dag_net is in stop state, not allowed to add dag", K(ret), K(is_stopped_)); + LOG_WARN("dag_net is in stop state, not allowed to add dag", K(ret), K(is_stop)); } else if (is_cancel_) { ret = OB_CANCELED; LOG_WARN("dag net is cancel, do not allow to add new dag", K(ret), K(is_cancel_)); @@ -1000,7 +1000,6 @@ void ObIDagNet::remove_dag_record_(ObDagRecord &dag_record) int ObIDagNet::erase_dag_from_dag_net(ObIDag &dag) { int ret = OB_SUCCESS; - bool found = false; ObDagRecord *dag_record = nullptr; ObMutexGuard guard(lock_); WEAK_BARRIER(); @@ -1012,14 +1011,13 @@ int ObIDagNet::erase_dag_from_dag_net(ObIDag &dag) } else if (OB_ISNULL(dag_record)) { ret = OB_ERR_UNEXPECTED; COMMON_LOG(WARN, "dag record should not be NULL", K(ret), KP(this), KP(&dag)); - } else if (dag_record->dag_ptr_ != &dag) { + } else if (OB_UNLIKELY(dag_record->dag_ptr_ != &dag)) { ret = OB_ERR_UNEXPECTED; COMMON_LOG(WARN, "dag record has unexpected dag value", K(ret), KP(this), KP(&dag), KPC(dag_record)); } else if (OB_UNLIKELY(ObIDag::is_finish_status(dag_record->dag_status_))) { ret = OB_ERR_UNEXPECTED; LOG_ERROR("dag status is invalid when erase", K(ret), KPC(dag_record)); } else { - found = true; COMMON_LOG(DEBUG, "success to update status", K(ret), KPC(dag_record)); remove_dag_record_(*dag_record); dag.clear_dag_net(); diff --git a/src/storage/compaction/ob_medium_compaction_mgr.cpp b/src/storage/compaction/ob_medium_compaction_mgr.cpp index dfa7d009b2..c197cf0f94 100644 --- a/src/storage/compaction/ob_medium_compaction_mgr.cpp +++ b/src/storage/compaction/ob_medium_compaction_mgr.cpp @@ -230,7 +230,6 @@ int ObTabletMediumCompactionInfoRecorder::inner_replay_clog( int ret = OB_SUCCESS; ObArenaAllocator tmp_allocator; ObMediumCompactionInfo replay_medium_info; - ObTabletHandle tmp_tablet_handle; if (OB_FAIL(replay_medium_info.deserialize(tmp_allocator, buf, size, pos))) { LOG_WARN("failed to deserialize medium compaction info", K(ret)); } else if (!replay_medium_info.cluster_id_equal() @@ -252,7 +251,6 @@ int ObTabletMediumCompactionInfoRecorder::inner_replay_clog( } } - tmp_tablet_handle.reset(); return ret; } diff --git a/src/storage/compaction/ob_tablet_merge_task.cpp b/src/storage/compaction/ob_tablet_merge_task.cpp index dd090ce397..91d809aeab 100755 --- a/src/storage/compaction/ob_tablet_merge_task.cpp +++ b/src/storage/compaction/ob_tablet_merge_task.cpp @@ -1236,7 +1236,6 @@ int ObTabletMergeFinishTask::get_merged_sstable(ObTabletMergeCtx &ctx) int ObTabletMergeFinishTask::add_sstable_for_merge(ObTabletMergeCtx &ctx) { int ret = OB_SUCCESS; - ObTablet *old_tablet = ctx.tablet_handle_.get_obj(); const ObMergeType merge_type = ctx.param_.merge_type_; if (OB_UNLIKELY(!ctx.is_valid())) { @@ -1256,7 +1255,6 @@ int ObTabletMergeFinishTask::add_sstable_for_merge(ObTabletMergeCtx &ctx) is_minor_merge(ctx.param_.merge_type_)/*need_check_sstable*/, false/*allow_duplicate_sstable*/, ctx.param_.get_merge_type()); - ObTablet *old_tablet = ctx.tablet_handle_.get_obj(); ObTabletHandle new_tablet_handle; if (ctx.param_.tablet_id_.is_special_merge_tablet()) { param.multi_version_start_ = 1; diff --git a/src/storage/ls/ob_ls_storage_clog_handler.cpp b/src/storage/ls/ob_ls_storage_clog_handler.cpp index 3d3549c4f8..703238505a 100644 --- a/src/storage/ls/ob_ls_storage_clog_handler.cpp +++ b/src/storage/ls/ob_ls_storage_clog_handler.cpp @@ -122,6 +122,10 @@ int ObMediumCompactionClogHandler::inner_replay( } else if (OB_FAIL(handle.get_obj()->replay_medium_compaction_clog(scn, buffer, buffer_size, new_pos))) { LOG_WARN("failed to replay medium compaction clog", K(ret), K(tablet_id), K(buffer_size), K(new_pos)); } + if (OB_TIMEOUT == ret) { + LOG_INFO("replace timeout errno", KR(ret), K(scn), K(tablet_id)); + ret = OB_EAGAIN; + } return ret; } diff --git a/src/storage/ls/ob_ls_tablet_service.cpp b/src/storage/ls/ob_ls_tablet_service.cpp index 9260e3a7df..93e44a80cc 100755 --- a/src/storage/ls/ob_ls_tablet_service.cpp +++ b/src/storage/ls/ob_ls_tablet_service.cpp @@ -215,6 +215,9 @@ int ObLSTabletService::replay( if (OB_TABLET_NOT_EXIST == ret) { ret = OB_SUCCESS; // TODO (bowen.gbw): unify multi data replay logic LOG_INFO("tablet does not exist, skip", K(ret), K(replayer_executor)); + } else if (OB_TIMEOUT == ret) { + LOG_INFO("replace timeout errno", KR(ret), K(replayer_executor)); + ret = OB_EAGAIN; } else { LOG_WARN("failed to replay", K(ret), K(replayer_executor)); } @@ -585,64 +588,6 @@ int ObLSTabletService::get_tablet_addr(const ObTabletMapKey &key, ObMetaDiskAddr return ret; } -int ObLSTabletService::replay_medium_compaction_clog( - const share::SCN &scn, - const char *buf, - const int64_t buf_size, - const int64_t pos) -{ - int ret = OB_SUCCESS; - ObTabletID tablet_id; - ObTabletHandle handle; - int64_t new_pos = pos; - - if (IS_NOT_INIT) { - ret = OB_NOT_INIT; - LOG_WARN("not inited", K(ret)); - } else if (OB_UNLIKELY(buf_size <= pos || pos < 0 || buf_size <= 0)) { - ret = OB_INVALID_ARGUMENT; - LOG_WARN("invalid argument", K(ret), K(buf_size), K(pos)); - } else if (OB_FAIL(tablet_id.deserialize(buf, buf_size, new_pos))) { - LOG_WARN("fail to deserialize tablet id", K(ret), K(buf_size), K(pos), K(tablet_id)); - } else if (OB_FAIL(direct_get_tablet(tablet_id, handle))) { - if (OB_TABLET_NOT_EXIST == ret) { - LOG_INFO("tablet not exist", K(ret), K(tablet_id)); - ret = OB_SUCCESS; - } else { - LOG_WARN("failed to get tablet", K(ret), K(tablet_id)); - } - } else if (handle.get_obj()->is_empty_shell()) { - LOG_INFO("old tablet is empty shell tablet, should skip this operation", K(ret), "old_tablet", handle.get_obj()); - } else if (OB_FAIL(handle.get_obj()->replay_medium_compaction_clog(scn, buf, buf_size, new_pos))) { - LOG_WARN("update tablet storage schema fail", K(ret), K(tablet_id), K(buf_size), K(new_pos)); - } - return ret; -} - -int ObLSTabletService::replay_update_reserved_snapshot( - const share::SCN &scn, - const char *buf, - const int64_t buf_size, - const int64_t pos) -{ - int ret = OB_SUCCESS; - int64_t new_pos = pos; - - if (IS_NOT_INIT) { - ret = OB_NOT_INIT; - LOG_WARN("not inited", K(ret)); - } else if (OB_UNLIKELY(buf_size <= pos || pos < 0 || buf_size <= 0)) { - ret = OB_INVALID_ARGUMENT; - LOG_WARN("invalid argument", K(ret), K(buf_size), K(pos)); - } else if (OB_ISNULL(ls_)) { - ret = OB_ERR_UNEXPECTED; - LOG_WARN("ls is null", K(ret), KPC(ls_)); - } else if (OB_FAIL(ls_->replay_reserved_snapshot_log(scn, buf, buf_size, new_pos))) { - LOG_WARN("replay reserved snapshot log fail", K(ret), KPC(ls_), K(buf_size), K(new_pos)); - } - return ret; -} - void ObLSTabletService::report_tablet_to_rs(const common::ObTabletID &tablet_id) { int ret = OB_SUCCESS; diff --git a/src/storage/ls/ob_ls_tablet_service.h b/src/storage/ls/ob_ls_tablet_service.h index 68415a6e5a..974da177ec 100755 --- a/src/storage/ls/ob_ls_tablet_service.h +++ b/src/storage/ls/ob_ls_tablet_service.h @@ -221,17 +221,6 @@ public: int get_bf_optimal_prefix(int64_t &prefix); int64_t get_tablet_count() const; - int replay_medium_compaction_clog( - const share::SCN &scn, - const char *buf, - const int64_t buf_size, - const int64_t pos); - int replay_update_reserved_snapshot( - const share::SCN &scn, - const char *buf, - const int64_t buf_size, - const int64_t pos); - // update tablet int update_tablet_checkpoint( const ObTabletMapKey &key,