mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2026-10-28 16:18:23 +08:00
78 lines
4.9 KiB
Plaintext
78 lines
4.9 KiB
Plaintext
---
|
|
title: 'reader_executor_* session settings'
|
|
sidebarTitle: 'reader_executor_*'
|
|
toc_max_heading_level: 2
|
|
description: 'ClickHouse session settings in the reader_executor_* generated group.'
|
|
doc_type: 'reference'
|
|
---
|
|
|
|
{/*AUTOGENERATED_START*/}
|
|
|
|
import SettingsInfoBlock from "/snippets/components/SettingsInfoBlock/SettingsInfoBlock.jsx";
|
|
import { VersionHistory } from "/snippets/components/VersionHistory/VersionHistory.jsx";
|
|
import { ExperimentalBadge } from "/snippets/components/ExperimentalBadge/ExperimentalBadge.jsx";
|
|
|
|
These settings are available in [system.settings](/reference/system-tables/settings) and are autogenerated from [source](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).
|
|
|
|
## reader_executor_block_size {#reader_executor_block_size}
|
|
|
|
<ExperimentalBadge/>
|
|
|
|
<SettingsInfoBlock type="UInt64" default_value="1048576" />
|
|
|
|
<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.8"},{"label": "1048576"},{"label": "New experimental ReaderExecutor setting: buffer chunk size for source reads."}]}]}/>
|
|
|
|
Buffer chunk size for the experimental `ReaderExecutor`: source reads fill nodes of at most this size. Must be between 128 KiB and 40 MiB, the band shared by every `ReaderExecutor` size.
|
|
|
|
## reader_executor_max_tail_for_drain {#reader_executor_max_tail_for_drain}
|
|
|
|
<ExperimentalBadge/>
|
|
|
|
<SettingsInfoBlock type="UInt64" default_value="1048576" />
|
|
|
|
<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "1048576"},{"label": "New experimental ReaderExecutor setting: drain bound for completing a dropped long connection."}]}]}/>
|
|
|
|
Drain bound for the experimental `ReaderExecutor`: a long source connection dropped within this many bytes of its right bound is read out to the bound first, so it completes and returns to the connection pool reusable instead of counting as an incomplete connection.
|
|
|
|
## reader_executor_min_bytes_for_seek {#reader_executor_min_bytes_for_seek}
|
|
|
|
<ExperimentalBadge/>
|
|
|
|
<SettingsInfoBlock type="UInt64" default_value="2097152" />
|
|
|
|
<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "2097152"},{"label": "New experimental ReaderExecutor setting: forward-gap bound for bridging on a held source connection."}]}]}/>
|
|
|
|
Forward-gap bound for the experimental `ReaderExecutor`: a gap up to this is skipped on the open source connection (bridged / read through) instead of issuing a separate source read or reopening. Set near the bandwidth/request cost breakeven so bridging stays cost-positive.
|
|
|
|
## reader_executor_plan_look_ahead {#reader_executor_plan_look_ahead}
|
|
|
|
<ExperimentalBadge/>
|
|
|
|
<SettingsInfoBlock type="UInt64" default_value="16777216" />
|
|
|
|
<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.10"},{"label": "16777216"},{"label": "New experimental ReaderExecutor setting: how far ahead cache residency is resolved into the held read plan."}]}]}/>
|
|
|
|
How far ahead the experimental `ReaderExecutor` resolves cache residency into its held read plan (a cheap probe, not a read), so one resolve serves many windows. The plan pins every cache cell it resolved until the cursor passes it, so this span drives how much memory and how much unevictable cache each concurrent reader holds. It is not an exact cap: a pin covers a whole cache segment or block, so a cell straddling either end of the range is held entire, adding up to one of them per cache tier at each end. Must be between 128 KiB and 40 MiB, the band shared by every `ReaderExecutor` size, and at least `reader_executor_block_size`.
|
|
|
|
## reader_executor_use_long_connections {#reader_executor_use_long_connections}
|
|
|
|
<ExperimentalBadge/>
|
|
|
|
<SettingsInfoBlock type="Bool" default_value="0" />
|
|
|
|
<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.7"},{"label": "0"},{"label": "New experimental ReaderExecutor setting (off by default): reuse a held source connection across sequential windows."}]}]}/>
|
|
|
|
Reuse a bounded long source connection across windows in the experimental `ReaderExecutor`. A long connection is one whose range exceeds the current read window; when disabled, the executor takes no connection-pool budget and every window opens a short-lived one-shot connection (the stateless path).
|
|
|
|
## reader_executor_window_size {#reader_executor_window_size}
|
|
|
|
<ExperimentalBadge/>
|
|
|
|
<SettingsInfoBlock type="UInt64" default_value="8388608" />
|
|
|
|
<VersionHistory rows={[{"id": "row-1","items": [{"label": "26.9"},{"label": "8388608"},{"label": "Raised the default read window of the experimental `ReaderExecutor` from 4 MiB to 8 MiB. Under memory pressure the window is reduced from this base, floored at 128 KiB."}]}, {"id": "row-2","items": [{"label": "26.8"},{"label": "4194304"},{"label": "New experimental ReaderExecutor setting: bytes served per read window."}]}]}/>
|
|
|
|
Bytes served per read window by the experimental `ReaderExecutor` (the unit a read returns). Must be between 128 KiB and 40 MiB, the band shared by every `ReaderExecutor` size.
|
|
|
|
{/*AUTOGENERATED_END*/}
|