[config](merge-on-write) use separate config to control primary key index cache (#22538)

This commit is contained in:
zhannngchen
2023-08-03 17:11:19 +08:00
committed by GitHub
parent 60ca5b0bad
commit e90f95dfda
3 changed files with 6 additions and 2 deletions

View File

@ -312,6 +312,8 @@ DEFINE_Int32(index_page_cache_percentage, "10");
DEFINE_Bool(disable_storage_page_cache, "false");
// whether to disable row cache feature in storage
DEFINE_Bool(disable_storage_row_cache, "true");
// whether to disable pk page cache feature in storage
DEFINE_Bool(disable_pk_storage_page_cache, "false");
// Cache for mow primary key storage page size
DEFINE_String(pk_storage_page_cache_limit, "10%");

View File

@ -357,6 +357,8 @@ DECLARE_Int32(index_page_cache_percentage);
DECLARE_Bool(disable_storage_page_cache);
// whether to disable row cache feature in storage
DECLARE_Bool(disable_storage_row_cache);
// whether to disable pk page cache feature in storage
DECLARE_Bool(disable_pk_storage_page_cache);
// Cache for mow primary key storage page size, it's seperated from
// storage_page_cache_limit

View File

@ -92,7 +92,7 @@ Status PrimaryKeyIndexReader::parse_index(io::FileReaderSPtr file_reader,
// parse primary key index
_index_reader.reset(new segment_v2::IndexedColumnReader(file_reader, meta.primary_key_index()));
_index_reader->set_is_pk_index(true);
RETURN_IF_ERROR(_index_reader->load(!config::disable_storage_page_cache, false));
RETURN_IF_ERROR(_index_reader->load(!config::disable_pk_storage_page_cache, false));
_index_parsed = true;
return Status::OK();
@ -104,7 +104,7 @@ Status PrimaryKeyIndexReader::parse_bf(io::FileReaderSPtr file_reader,
segment_v2::ColumnIndexMetaPB column_index_meta = meta.bloom_filter_index();
segment_v2::BloomFilterIndexReader bf_index_reader(std::move(file_reader),
&column_index_meta.bloom_filter_index());
RETURN_IF_ERROR(bf_index_reader.load(!config::disable_storage_page_cache, false));
RETURN_IF_ERROR(bf_index_reader.load(!config::disable_pk_storage_page_cache, false));
std::unique_ptr<segment_v2::BloomFilterIndexIterator> bf_iter;
RETURN_IF_ERROR(bf_index_reader.new_iterator(&bf_iter));
RETURN_IF_ERROR(bf_iter->read_bloom_filter(0, &_bf));