mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-30 11:32:03 +00:00
Always use pread
for reading cache segments
This commit is contained in:
parent
7f675ddf80
commit
587f829eb8
@ -177,22 +177,13 @@ CachedOnDiskReadBufferFromFile::getCacheReadBuffer(const FileSegment & file_segm
|
|||||||
}
|
}
|
||||||
|
|
||||||
ReadSettings local_read_settings{settings};
|
ReadSettings local_read_settings{settings};
|
||||||
local_read_settings.local_fs_prefetch = false;
|
|
||||||
if (local_read_settings.local_fs_method != LocalFSReadMethod::pread_threadpool)
|
|
||||||
local_read_settings.local_fs_method = LocalFSReadMethod::pread;
|
local_read_settings.local_fs_method = LocalFSReadMethod::pread;
|
||||||
|
|
||||||
if (use_external_buffer)
|
if (use_external_buffer)
|
||||||
local_read_settings.local_fs_buffer_size = 0;
|
local_read_settings.local_fs_buffer_size = 0;
|
||||||
|
|
||||||
cache_file_reader = createReadBufferFromFileBase(
|
cache_file_reader
|
||||||
path,
|
= createReadBufferFromFileBase(path, local_read_settings, std::nullopt, std::nullopt, file_segment.getFlagsForLocalRead());
|
||||||
local_read_settings,
|
|
||||||
std::nullopt,
|
|
||||||
std::nullopt,
|
|
||||||
file_segment.getFlagsForLocalRead(),
|
|
||||||
/*existing_memory=*/nullptr,
|
|
||||||
/*alignment=*/0,
|
|
||||||
/*use_external_buffer=*/true);
|
|
||||||
|
|
||||||
if (getFileSizeFromReadBuffer(*cache_file_reader) == 0)
|
if (getFileSizeFromReadBuffer(*cache_file_reader) == 0)
|
||||||
throw Exception(ErrorCodes::LOGICAL_ERROR, "Attempt to read from an empty cache file: {}", path);
|
throw Exception(ErrorCodes::LOGICAL_ERROR, "Attempt to read from an empty cache file: {}", path);
|
||||||
|
Loading…
Reference in New Issue
Block a user