> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Настройки сеанса insert_keeper_*

> Настройки сеанса ClickHouse в автоматически сгенерированной группе insert_keeper_*.

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>Тип</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>По умолчанию</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          Изменяется без перезапуска
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

Эти настройки доступны в [system.settings](/docs/ru/reference/system-tables/settings) и автоматически генерируются на основе [исходного кода](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Settings.cpp).

<div id="insert_keeper_fault_injection_probability">
  ## insert\_keeper\_fault\_injection\_probability
</div>

<SettingsInfoBlock type="Float" default_value="0" />

Приблизительная вероятность сбоя запроса Keeper во время вставки. Допустимое значение — в интервале \[0.0f, 1.0f]

<div id="insert_keeper_fault_injection_seed">
  ## insert\_keeper\_fault\_injection\_seed
</div>

<SettingsInfoBlock type="UInt64" default_value="0" />

0 — случайное начальное значение генератора случайных чисел, иначе — значение настройки

<div id="insert_keeper_max_retries">
  ## insert\_keeper\_max\_retries
</div>

<SettingsInfoBlock type="UInt64" default_value="20" />

<VersionHistory rows={[{"id": "row-1","items": [{"label": "23.2"},{"label": "20"},{"label": "Включены повторные подключения к Keeper при INSERT, повышена надежность"}]}]} />

Этот параметр задает максимальное число повторных попыток для запросов к ClickHouse Keeper (или ZooKeeper) при вставке в реплицируемый MergeTree. Повторно выполняются только те запросы к Keeper, которые завершились ошибкой из-за сетевой ошибки, тайм-аута сеанса Keeper или тайм-аута запроса.

Возможные значения:

* Положительное целое число.
* 0 — повторные попытки отключены

Повторные попытки запросов к Keeper выполняются через некоторый тайм-аут. Он задается следующими параметрами: `insert_keeper_retry_initial_backoff_ms`, `insert_keeper_retry_max_backoff_ms`.
Первая повторная попытка выполняется по истечении тайм-аута `insert_keeper_retry_initial_backoff_ms`. Последующие тайм-ауты рассчитываются следующим образом:

```
timeout = min(insert_keeper_retry_max_backoff_ms, latest_timeout * 2)
```

Например, если `insert_keeper_retry_initial_backoff_ms=100`, `insert_keeper_retry_max_backoff_ms=10000` и `insert_keeper_max_retries=8`, то значения тайм-аутов будут `100, 200, 400, 800, 1600, 3200, 6400, 10000`.

Помимо отказоустойчивости, повторные попытки также улучшают пользовательский опыт: они позволяют не возвращать ошибку при выполнении INSERT, если Keeper, например, перезапускается из-за обновления.

<div id="insert_keeper_retry_initial_backoff_ms">
  ## insert\_keeper\_retry\_initial\_backoff\_ms
</div>

<SettingsInfoBlock type="UInt64" default_value="100" />

Начальный тайм-аут (в миллисекундах) перед повторной попыткой выполнить неудачный запрос к Keeper во время выполнения запроса INSERT

Возможные значения:

* Положительное целое число.
* 0 — без тайм-аута

<div id="insert_keeper_retry_max_backoff_ms">
  ## insert\_keeper\_retry\_max\_backoff\_ms
</div>

<SettingsInfoBlock type="UInt64" default_value="10000" />

Максимальный тайм-аут (в миллисекундах) перед повторной попыткой после сбоя запроса к Keeper при выполнении INSERT-запроса

Возможные значения:

* Положительное целое число.
* 0 — максимальный тайм-аут не ограничен
