diff --git a/src/storage/blocksstable/ob_shared_macro_block_manager.cpp b/src/storage/blocksstable/ob_shared_macro_block_manager.cpp index f5c07870b6b62d8646772117af560047cdcd246c..b201f443ed540c0b1730728933b52f5f8f71802f 100644 --- a/src/storage/blocksstable/ob_shared_macro_block_manager.cpp +++ b/src/storage/blocksstable/ob_shared_macro_block_manager.cpp @@ -29,6 +29,7 @@ #include "storage/ls/ob_ls.h" #include "share/ob_ls_id.h" #include "storage/tx_storage/ob_ls_service.h" +#include "storage/slog_ckpt/ob_server_checkpoint_slog_handler.h" namespace oceanbase { @@ -273,10 +274,10 @@ int ObSharedMacroBlockMgr::try_switch_macro_block() if (block_id.is_valid() && OB_FAIL(add_block(block_id, used_size))) { LOG_WARN("fail to add cur block to map", K(ret), K(block_id)); } else if (FALSE_IT(macro_handle_.reset())) { - } else if (FALSE_IT(offset_ = 0)) { } else if (OB_FAIL(OB_SERVER_BLOCK_MGR.alloc_block(macro_handle_))) { LOG_WARN("fail to alloc block for new macro block", K(ret)); } else { + offset_ = 0; ObMacroBlockWriteInfo write_info; ObBlockInfo block_info; write_info.buffer_ = common_header_buf_; @@ -288,6 +289,7 @@ int ObSharedMacroBlockMgr::try_switch_macro_block() LOG_WARN("fail to write common header to the shared macro block", K(ret), K(block_info)); } } + return ret; } @@ -739,7 +741,7 @@ int ObSharedMacroBlockMgr::read_sstable_block( void ObSharedMacroBlockMgr::ObBlockDefragmentationTask::runTimerTask() { int ret = OB_SUCCESS; - if (OB_FAIL(shared_mgr_.defragment())) { + if (ObServerCheckpointSlogHandler::get_instance().is_started() && OB_FAIL(shared_mgr_.defragment())) { LOG_WARN("fail to defragment small sstables", K(ret)); } } diff --git a/src/storage/compaction/ob_partition_merger.cpp b/src/storage/compaction/ob_partition_merger.cpp index b087bb67350d76b10b796ec6406a03d7f0c3656f..1dfeadd334e7e42d8c94d3108d0713b9c0c6dff0 100644 --- a/src/storage/compaction/ob_partition_merger.cpp +++ b/src/storage/compaction/ob_partition_merger.cpp @@ -657,6 +657,8 @@ int ObPartitionMajorMerger::merge_partition(ObTabletMergeCtx &ctx, const int64_t } else if (is_reuse_base_sstable) { if (OB_FAIL(reuse_base_sstable(merge_iters)) && OB_ITER_END != ret) { STORAGE_LOG(WARN, "Failed to reuse base sstable", K(ret), K(merge_iters)); + } else { + FLOG_INFO("succeed to reuse base sstable", K(merge_iters)); } }