Estas configurações estão disponíveis em system.settings e são geradas automaticamente a partir do código-fonte.
insert_keeper_fault_injection_probability
Probabilidade aproximada de falha de uma requisição do Keeper durante o insert. O valor válido está no intervalo [0.0f, 1.0f]
insert_keeper_fault_injection_seed
0 - semente aleatória; caso contrário, o valor da configuração
insert_keeper_max_retries
Histórico de versões
| Versão | Valor padrão | Comentário |
|---|---|---|
| 23.2 | 20 | Habilita reconexões ao Keeper em INSERT, melhorando a confiabilidade |
Essa configuração define o número máximo de novas tentativas para requisições ao ClickHouse Keeper (ou ZooKeeper) durante o INSERT em MergeTree replicado. Apenas requisições ao Keeper que falharem devido a erro de rede, timeout de sessão do Keeper ou timeout da requisição são consideradas para novas tentativas.
Valores possíveis:
- Inteiro positivo.
- 0 — As novas tentativas são desabilitadas
As novas tentativas de requisições ao Keeper são feitas após um certo timeout. O timeout é controlado pelas seguintes configurações: insert_keeper_retry_initial_backoff_ms, insert_keeper_retry_max_backoff_ms.
A primeira nova tentativa é feita após o timeout de insert_keeper_retry_initial_backoff_ms. Os timeouts seguintes serão calculados da seguinte forma:
timeout = min(insert_keeper_retry_max_backoff_ms, latest_timeout * 2)Por exemplo, se insert_keeper_retry_initial_backoff_ms=100, insert_keeper_retry_max_backoff_ms=10000 e insert_keeper_max_retries=8, então os timeouts serão 100, 200, 400, 800, 1600, 3200, 6400, 10000.
Além da tolerância a falhas, as tentativas de retry visam proporcionar uma melhor experiência ao usuário — elas permitem evitar que um erro seja retornado durante a execução de INSERT se o Keeper for reiniciado, por exemplo, devido a um upgrade.
insert_keeper_retry_initial_backoff_ms
Timeout inicial (em milissegundos) para tentar novamente uma requisição do Keeper que falhou durante a execução da consulta INSERT
Valores possíveis:
- Inteiro positivo.
- 0 — Sem timeout
insert_keeper_retry_max_backoff_ms
Timeout máximo (em milissegundos) para tentar novamente uma requisição do Keeper com falha durante a execução da consulta INSERT
Valores possíveis:
- Inteiro positivo.
- 0 — O timeout máximo não tem limite