From bb1eb5cfd213920ecbad10e48618058174ccf34e Mon Sep 17 00:00:00 2001 From: Yukang-Lian Date: Fri, 22 Sep 2023 12:10:12 +0800 Subject: [PATCH 1/3] 1 --- be/src/olap/compaction.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/be/src/olap/compaction.cpp b/be/src/olap/compaction.cpp index c000f91578b39d..a2f2f7e348d720 100644 --- a/be/src/olap/compaction.cpp +++ b/be/src/olap/compaction.cpp @@ -134,7 +134,7 @@ Status Compaction::do_compaction(int64_t permits) { << ", before=" << checksum_before << ", checksum_after=" << checksum_after; } } - _load_segment_to_cache(); + RETURN_IF_ERROR(_load_segment_to_cache()); return st; } @@ -831,10 +831,12 @@ int64_t Compaction::get_compaction_permits() { } Status Compaction::_load_segment_to_cache() { - // Load new rowset's segments to cache. - SegmentCacheHandle handle; - RETURN_IF_ERROR(SegmentLoader::instance()->load_segments( - std::static_pointer_cast(_output_rowset), &handle, true)); + if (_output_rowset != nullptr) { + // Load new rowset's segments to cache. + SegmentCacheHandle handle; + RETURN_IF_ERROR(SegmentLoader::instance()->load_segments( + std::static_pointer_cast(_output_rowset), &handle, true)); + } return Status::OK(); } From 3ab3affb05a2182493119a917f33b71c22630a56 Mon Sep 17 00:00:00 2001 From: Yukang-Lian Date: Fri, 22 Sep 2023 15:17:57 +0800 Subject: [PATCH 2/3] 2 --- be/src/olap/compaction.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/be/src/olap/compaction.cpp b/be/src/olap/compaction.cpp index a2f2f7e348d720..d145727bd2e3d8 100644 --- a/be/src/olap/compaction.cpp +++ b/be/src/olap/compaction.cpp @@ -134,7 +134,9 @@ Status Compaction::do_compaction(int64_t permits) { << ", before=" << checksum_before << ", checksum_after=" << checksum_after; } } - RETURN_IF_ERROR(_load_segment_to_cache()); + if (st.ok()) { + _load_segment_to_cache(); + } return st; } From d2b7a18b5687a9a3fec3fec549b1e124e8fa78a3 Mon Sep 17 00:00:00 2001 From: Yukang-Lian Date: Fri, 22 Sep 2023 17:00:22 +0800 Subject: [PATCH 3/3] 4 --- be/src/olap/compaction.cpp | 16 +++++++++------- be/src/olap/compaction.h | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/be/src/olap/compaction.cpp b/be/src/olap/compaction.cpp index d145727bd2e3d8..deaf55b88f4d2b 100644 --- a/be/src/olap/compaction.cpp +++ b/be/src/olap/compaction.cpp @@ -832,14 +832,16 @@ int64_t Compaction::get_compaction_permits() { return permits; } -Status Compaction::_load_segment_to_cache() { - if (_output_rowset != nullptr) { - // Load new rowset's segments to cache. - SegmentCacheHandle handle; - RETURN_IF_ERROR(SegmentLoader::instance()->load_segments( - std::static_pointer_cast(_output_rowset), &handle, true)); +void Compaction::_load_segment_to_cache() { + // Load new rowset's segments to cache. + SegmentCacheHandle handle; + auto st = SegmentLoader::instance()->load_segments( + std::static_pointer_cast(_output_rowset), &handle, true); + if (!st.ok()) { + LOG(WARNING) << "failed to load segment to cache! output rowset version=" + << _output_rowset->start_version() << "-" << _output_rowset->end_version() + << "."; } - return Status::OK(); } #ifdef BE_TEST diff --git a/be/src/olap/compaction.h b/be/src/olap/compaction.h index afb4f27e7ffe7b..ad29430fec6a47 100644 --- a/be/src/olap/compaction.h +++ b/be/src/olap/compaction.h @@ -99,7 +99,7 @@ class Compaction { private: bool _check_if_includes_input_rowsets(const RowsetIdUnorderedSet& commit_rowset_ids_set) const; - Status _load_segment_to_cache(); + void _load_segment_to_cache(); protected: // the root tracker for this compaction