From 2dc70e051e4a9bc0dcdec0b99c2baad14f880dc3 Mon Sep 17 00:00:00 2001 From: Robert Schulze Date: Mon, 19 Aug 2024 19:02:28 +0000 Subject: [PATCH] Fix 2 --- src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp | 8 +++++++- src/Storages/MergeTree/MergeTreeDataSelectExecutor.h | 2 ++ src/Storages/MergeTree/MergeTreeIndexReader.h | 1 + src/Storages/MergeTree/MergeTreeIndices.h | 1 + 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp b/src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp index 59f3a299c99..16e0fbf129a 100644 --- a/src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp +++ b/src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp @@ -651,6 +651,7 @@ RangesInDataParts MergeTreeDataSelectExecutor::filterPartsByPrimaryKeyAndSkipInd { auto mark_cache = context->getIndexMarkCache(); auto uncompressed_cache = context->getIndexUncompressedCache(); + auto skipping_index_cache = context->getSkippingIndexCache(); auto process_part = [&](size_t part_index) { @@ -706,6 +707,7 @@ RangesInDataParts MergeTreeDataSelectExecutor::filterPartsByPrimaryKeyAndSkipInd reader_settings, mark_cache.get(), uncompressed_cache.get(), + skipping_index_cache.get(), log); stat.granules_dropped.fetch_add(total_granules - ranges.ranges.getNumberOfMarks(), std::memory_order_relaxed); @@ -727,7 +729,7 @@ RangesInDataParts MergeTreeDataSelectExecutor::filterPartsByPrimaryKeyAndSkipInd indices_and_condition.indices, indices_and_condition.condition, part, ranges.ranges, settings, reader_settings, - mark_cache.get(), uncompressed_cache.get(), log); + mark_cache.get(), uncompressed_cache.get(), skipping_index_cache.get(), log); stat.total_granules.fetch_add(total_granules, std::memory_order_relaxed); stat.granules_dropped.fetch_add(total_granules - ranges.ranges.getNumberOfMarks(), std::memory_order_relaxed); @@ -1345,6 +1347,7 @@ MarkRanges MergeTreeDataSelectExecutor::filterMarksUsingIndex( const MergeTreeReaderSettings & reader_settings, MarkCache * mark_cache, UncompressedCache * uncompressed_cache, + SkippingIndexCache * skipping_index_cache, LoggerPtr log) { if (!index_helper->getDeserializedFormat(part->getDataPartStorage(), index_helper->getFileName())) @@ -1381,6 +1384,7 @@ MarkRanges MergeTreeDataSelectExecutor::filterMarksUsingIndex( index_ranges, mark_cache, uncompressed_cache, + skipping_index_cache, reader_settings); MarkRanges res; @@ -1461,6 +1465,7 @@ MarkRanges MergeTreeDataSelectExecutor::filterMarksUsingMergedIndex( const MergeTreeReaderSettings & reader_settings, MarkCache * mark_cache, UncompressedCache * uncompressed_cache, + SkippingIndexCache * skipping_index_cache, LoggerPtr log) { for (const auto & index_helper : indices) @@ -1495,6 +1500,7 @@ MarkRanges MergeTreeDataSelectExecutor::filterMarksUsingMergedIndex( ranges, mark_cache, uncompressed_cache, + skipping_index_cache, reader_settings)); } diff --git a/src/Storages/MergeTree/MergeTreeDataSelectExecutor.h b/src/Storages/MergeTree/MergeTreeDataSelectExecutor.h index 39bff5eacd6..a21947e5b97 100644 --- a/src/Storages/MergeTree/MergeTreeDataSelectExecutor.h +++ b/src/Storages/MergeTree/MergeTreeDataSelectExecutor.h @@ -93,6 +93,7 @@ private: const MergeTreeReaderSettings & reader_settings, MarkCache * mark_cache, UncompressedCache * uncompressed_cache, + SkippingIndexCache * skipping_index_cache, LoggerPtr log); static MarkRanges filterMarksUsingMergedIndex( @@ -104,6 +105,7 @@ private: const MergeTreeReaderSettings & reader_settings, MarkCache * mark_cache, UncompressedCache * uncompressed_cache, + SkippingIndexCache * skipping_index_cache, LoggerPtr log); struct PartFilterCounters diff --git a/src/Storages/MergeTree/MergeTreeIndexReader.h b/src/Storages/MergeTree/MergeTreeIndexReader.h index 664c7684b7b..a1f99fc11aa 100644 --- a/src/Storages/MergeTree/MergeTreeIndexReader.h +++ b/src/Storages/MergeTree/MergeTreeIndexReader.h @@ -18,6 +18,7 @@ public: const MarkRanges & all_mark_ranges_, MarkCache * mark_cache, UncompressedCache * uncompressed_cache, + SkippingIndexCache * skipping_index_cache, MergeTreeReaderSettings settings); ~MergeTreeIndexReader(); diff --git a/src/Storages/MergeTree/MergeTreeIndices.h b/src/Storages/MergeTree/MergeTreeIndices.h index 58f1dd85ca4..16a4a751406 100644 --- a/src/Storages/MergeTree/MergeTreeIndices.h +++ b/src/Storages/MergeTree/MergeTreeIndices.h @@ -61,6 +61,7 @@ struct IMergeTreeIndexGranule virtual bool empty() const = 0; + /// The in-memory size of the granule. Not expected to be 100% accurate. virtual size_t memoryUsageBytes() const = 0; };