2022-03-21 08:52:48 +00:00
|
|
|
#pragma once
|
2022-03-14 18:40:53 +00:00
|
|
|
|
2022-07-11 12:59:39 +00:00
|
|
|
#include <Common/Throttler_fwd.h>
|
2024-01-20 12:06:26 +00:00
|
|
|
#include <Common/Scheduler/ResourceLink.h>
|
2022-07-11 12:59:39 +00:00
|
|
|
|
2022-03-14 18:40:53 +00:00
|
|
|
namespace DB
|
|
|
|
{
|
|
|
|
|
2022-04-07 16:46:46 +00:00
|
|
|
/// Settings to be passed to IDisk::writeFile()
|
2022-03-14 18:40:53 +00:00
|
|
|
struct WriteSettings
|
|
|
|
{
|
2022-07-11 12:59:39 +00:00
|
|
|
/// Bandwidth throttler to use during writing
|
2022-07-14 15:33:22 +00:00
|
|
|
ThrottlerPtr remote_throttler;
|
2023-03-30 17:02:28 +00:00
|
|
|
ThrottlerPtr local_throttler;
|
2022-07-16 20:49:15 +00:00
|
|
|
|
2023-01-27 18:47:22 +00:00
|
|
|
// Resource to be used during reading
|
|
|
|
ResourceLink resource_link;
|
|
|
|
|
2022-07-16 20:49:15 +00:00
|
|
|
/// Filesystem cache settings
|
2022-03-30 11:47:44 +00:00
|
|
|
bool enable_filesystem_cache_on_write_operations = false;
|
2022-05-14 12:26:04 +00:00
|
|
|
bool enable_filesystem_cache_log = false;
|
2022-12-15 18:39:41 +00:00
|
|
|
bool throw_on_error_from_cache = false;
|
2024-03-13 11:36:47 +00:00
|
|
|
size_t filesystem_cache_reserve_space_wait_lock_timeout_milliseconds = 1000;
|
2022-12-15 18:39:41 +00:00
|
|
|
|
2022-10-20 17:51:27 +00:00
|
|
|
bool s3_allow_parallel_part_upload = true;
|
2022-09-19 18:10:47 +00:00
|
|
|
|
|
|
|
/// Monitoring
|
|
|
|
bool for_object_storage = false; // to choose which profile events should be incremented
|
2023-01-25 17:34:09 +00:00
|
|
|
|
|
|
|
bool operator==(const WriteSettings & other) const = default;
|
2022-03-14 18:40:53 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|