mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-25 17:12:03 +00:00
Merge branch 'master' into rename-setting
This commit is contained in:
commit
16a6638c4a
@ -4875,6 +4875,9 @@ Limit on size of a single batch of file segments that a read buffer can request
|
|||||||
)", 0) \
|
)", 0) \
|
||||||
DECLARE(UInt64, filesystem_cache_reserve_space_wait_lock_timeout_milliseconds, 1000, R"(
|
DECLARE(UInt64, filesystem_cache_reserve_space_wait_lock_timeout_milliseconds, 1000, R"(
|
||||||
Wait time to lock cache for space reservation in filesystem cache
|
Wait time to lock cache for space reservation in filesystem cache
|
||||||
|
)", 0) \
|
||||||
|
DECLARE(Bool, filesystem_cache_prefer_bigger_buffer_size, true, R"(
|
||||||
|
Prefer bigger buffer size if filesystem cache is enabled to avoid writing small file segments which deteriorate cache performance. On the other hand, enabling this setting might increase memory usage.
|
||||||
)", 0) \
|
)", 0) \
|
||||||
DECLARE(UInt64, temporary_data_in_cache_reserve_space_wait_lock_timeout_milliseconds, (10 * 60 * 1000), R"(
|
DECLARE(UInt64, temporary_data_in_cache_reserve_space_wait_lock_timeout_milliseconds, (10 * 60 * 1000), R"(
|
||||||
Wait time to lock cache for space reservation for temporary data in filesystem cache
|
Wait time to lock cache for space reservation for temporary data in filesystem cache
|
||||||
|
@ -78,6 +78,7 @@ static std::initializer_list<std::pair<ClickHouseVersion, SettingsChangesHistory
|
|||||||
{"backup_restore_finish_timeout_after_error_sec", 0, 180, "New setting."},
|
{"backup_restore_finish_timeout_after_error_sec", 0, 180, "New setting."},
|
||||||
{"parallel_replicas_local_plan", false, true, "Use local plan for local replica in a query with parallel replicas"},
|
{"parallel_replicas_local_plan", false, true, "Use local plan for local replica in a query with parallel replicas"},
|
||||||
{"filesystem_cache_skip_download_if_exceeds_per_query_cache_write_limit", 1, 1, "Rename of setting skip_download_if_exceeds_query_cache_limit"},
|
{"filesystem_cache_skip_download_if_exceeds_per_query_cache_write_limit", 1, 1, "Rename of setting skip_download_if_exceeds_query_cache_limit"},
|
||||||
|
{"filesystem_cache_prefer_bigger_buffer_size", true, true, "New setting"},
|
||||||
{"read_in_order_use_virtual_row", false, false, "Use virtual row while reading in order of primary key or its monotonic function fashion. It is useful when searching over multiple parts as only relevant ones are touched."},
|
{"read_in_order_use_virtual_row", false, false, "Use virtual row while reading in order of primary key or its monotonic function fashion. It is useful when searching over multiple parts as only relevant ones are touched."},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -642,7 +642,10 @@ std::unique_ptr<ReadBufferFromFileBase> DiskObjectStorage::readFile(
|
|||||||
};
|
};
|
||||||
|
|
||||||
/// Avoid cache fragmentation by choosing bigger buffer size.
|
/// Avoid cache fragmentation by choosing bigger buffer size.
|
||||||
bool prefer_bigger_buffer_size = object_storage->supportsCache() && read_settings.enable_filesystem_cache;
|
bool prefer_bigger_buffer_size = read_settings.filesystem_cache_prefer_bigger_buffer_size
|
||||||
|
&& object_storage->supportsCache()
|
||||||
|
&& read_settings.enable_filesystem_cache;
|
||||||
|
|
||||||
size_t buffer_size = prefer_bigger_buffer_size
|
size_t buffer_size = prefer_bigger_buffer_size
|
||||||
? std::max<size_t>(settings.remote_fs_buffer_size, DBMS_DEFAULT_BUFFER_SIZE)
|
? std::max<size_t>(settings.remote_fs_buffer_size, DBMS_DEFAULT_BUFFER_SIZE)
|
||||||
: settings.remote_fs_buffer_size;
|
: settings.remote_fs_buffer_size;
|
||||||
|
@ -61,6 +61,7 @@ struct ReadSettings
|
|||||||
bool filesystem_cache_allow_background_download = true;
|
bool filesystem_cache_allow_background_download = true;
|
||||||
bool filesystem_cache_allow_background_download_for_metadata_files_in_packed_storage = true;
|
bool filesystem_cache_allow_background_download_for_metadata_files_in_packed_storage = true;
|
||||||
bool filesystem_cache_allow_background_download_during_fetch = true;
|
bool filesystem_cache_allow_background_download_during_fetch = true;
|
||||||
|
bool filesystem_cache_prefer_bigger_buffer_size = true;
|
||||||
|
|
||||||
bool use_page_cache_for_disks_without_file_cache = false;
|
bool use_page_cache_for_disks_without_file_cache = false;
|
||||||
bool read_from_page_cache_if_exists_otherwise_bypass_cache = false;
|
bool read_from_page_cache_if_exists_otherwise_bypass_cache = false;
|
||||||
|
@ -196,6 +196,7 @@ namespace Setting
|
|||||||
extern const SettingsUInt64 filesystem_cache_segments_batch_size;
|
extern const SettingsUInt64 filesystem_cache_segments_batch_size;
|
||||||
extern const SettingsBool filesystem_cache_enable_background_download_for_metadata_files_in_packed_storage;
|
extern const SettingsBool filesystem_cache_enable_background_download_for_metadata_files_in_packed_storage;
|
||||||
extern const SettingsBool filesystem_cache_enable_background_download_during_fetch;
|
extern const SettingsBool filesystem_cache_enable_background_download_during_fetch;
|
||||||
|
extern const SettingsBool filesystem_cache_prefer_bigger_buffer_size;
|
||||||
extern const SettingsBool http_make_head_request;
|
extern const SettingsBool http_make_head_request;
|
||||||
extern const SettingsUInt64 http_max_fields;
|
extern const SettingsUInt64 http_max_fields;
|
||||||
extern const SettingsUInt64 http_max_field_name_size;
|
extern const SettingsUInt64 http_max_field_name_size;
|
||||||
@ -5751,6 +5752,7 @@ ReadSettings Context::getReadSettings() const
|
|||||||
res.filesystem_cache_allow_background_download_for_metadata_files_in_packed_storage
|
res.filesystem_cache_allow_background_download_for_metadata_files_in_packed_storage
|
||||||
= settings_ref[Setting::filesystem_cache_enable_background_download_for_metadata_files_in_packed_storage];
|
= settings_ref[Setting::filesystem_cache_enable_background_download_for_metadata_files_in_packed_storage];
|
||||||
res.filesystem_cache_allow_background_download_during_fetch = settings_ref[Setting::filesystem_cache_enable_background_download_during_fetch];
|
res.filesystem_cache_allow_background_download_during_fetch = settings_ref[Setting::filesystem_cache_enable_background_download_during_fetch];
|
||||||
|
res.filesystem_cache_prefer_bigger_buffer_size = settings_ref[Setting::filesystem_cache_prefer_bigger_buffer_size];
|
||||||
|
|
||||||
res.filesystem_cache_max_download_size = settings_ref[Setting::filesystem_cache_max_download_size];
|
res.filesystem_cache_max_download_size = settings_ref[Setting::filesystem_cache_max_download_size];
|
||||||
res.filesystem_cache_skip_download_if_exceeds_per_query_cache_write_limit = settings_ref[Setting::filesystem_cache_skip_download_if_exceeds_per_query_cache_write_limit];
|
res.filesystem_cache_skip_download_if_exceeds_per_query_cache_write_limit = settings_ref[Setting::filesystem_cache_skip_download_if_exceeds_per_query_cache_write_limit];
|
||||||
|
@ -517,7 +517,7 @@ std::unique_ptr<ReadBufferFromFileBase> StorageObjectStorageSource::createReadBu
|
|||||||
|
|
||||||
LOG_TRACE(log, "Downloading object of size {} with initial prefetch", object_size);
|
LOG_TRACE(log, "Downloading object of size {} with initial prefetch", object_size);
|
||||||
|
|
||||||
bool prefer_bigger_buffer_size = impl->isCached();
|
bool prefer_bigger_buffer_size = read_settings.filesystem_cache_prefer_bigger_buffer_size && impl->isCached();
|
||||||
size_t buffer_size = prefer_bigger_buffer_size
|
size_t buffer_size = prefer_bigger_buffer_size
|
||||||
? std::max<size_t>(read_settings.remote_fs_buffer_size, DBMS_DEFAULT_BUFFER_SIZE)
|
? std::max<size_t>(read_settings.remote_fs_buffer_size, DBMS_DEFAULT_BUFFER_SIZE)
|
||||||
: read_settings.remote_fs_buffer_size;
|
: read_settings.remote_fs_buffer_size;
|
||||||
|
Loading…
Reference in New Issue
Block a user