INSERT Keeper 관련 설정

INSERT Keeper 관련 설정

복제된 MergeTree에 삽입 중 ClickHouse Keeper(또는 ZooKeeper) 요청의 재시도 횟수, 백오프, 고장 주입을 제어하는 설정들이에요. Keeper 재시작 등으로 인한 오류를 우아하게 처리하고 사용자 경험을 개선하는 데 도움이 된답니다. 이 설정들은 system.settings 테이블에서 확인할 수 있고 소스 코드에서 자동 생성된 값들이에요.

출처: 문서

본문

이 설정들은 system.settings에서 확인할 수 있고, 소스 코드에서 자동 생성된 값들이에요.

insert_keeper_fault_injection_probability

삽입 중 keeper 요청의 대략적인 실패 확률이에요. 유효 값은 [0.0f, 1.0f] 구간이에요.

insert_keeper_fault_injection_seed

0 — 랜덤 시드, 그 외에는 설정 값이에요.

insert_keeper_max_retries

복제된 MergeTree에 삽입 중 ClickHouse Keeper(또는 ZooKeeper) 요청의 최대 재시도 횟수를 설정해요. 네트워크 오류, 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이 돼요.

내결함성 외에도 재시도는 더 나은 사용자 경험을 목표로 해요. 예를 들어 업그레이드로 Keeper가 재시작되는 동안 INSERT 실행 중 오류를 반환하지 않도록 해주죠.

insert_keeper_retry_initial_backoff_ms

INSERT 쿼리 실행 중 실패한 Keeper 요청을 재시도할 초기 타임아웃(밀리초)이에요.

가능한 값:

  • 양의 정수.
  • 0 — 타임아웃 없음.

insert_keeper_retry_max_backoff_ms

INSERT 쿼리 실행 중 실패한 Keeper 요청을 재시도할 최대 타임아웃(밀리초)이에요.

가능한 값:

  • 양의 정수.
  • 0 — 최대 타임아웃이 제한되지 않음.

더 알아보기 (Learn more)