skip_unavailable_shards* 세션 설정
skip_unavailable_shards* 세션 설정
이 페이지에서는 사용할 수 없는 샤드를 건너뛰는 동작과 관련된 skip_unavailable_shards* 세션 설정들을 다뤄요. 샤드가 사용 불가할 때 이를 조용히 건너뛸지, 어떤 예외를 무시할지를 제어해요. 이 설정들은 system.settings 테이블에서 확인할 수 있으며 ClickHouse 소스에서 자동 생성돼요.
출처: 문서
본문
이 설정들은 system.settings에서 확인할 수 있으며 소스에서 자동 생성돼요.
skip_unavailable_shards
사용할 수 없는 샤드를 조용히 건너뛰는 동작을 활성화 또는 비활성화해요.
이 설정의 동작은 skip_unavailable_shards_mode 매개변수로 제어돼요.
가능한 값:
-
1— 건너뛰기 활성화. 샤드가 사용 불가하면 ClickHouse는 부분 데이터를 기반으로 결과를 반환하고 노드 가용성 문제를 보고하지 않아요. -
0— 건너뛰기 비활성화. 샤드가 사용 불가하면 ClickHouse는 예외를 던져요.
skip_unavailable_shards_mode
skip_unavailable_shards가 활성화되었을 때 원격 샤드의 어떤 예외를 조용히 무시할지 제어해요. 이 설정은 skip_unavailable_shards = 0이면 효과가 없어요.
가능한 값:
-
unavailable— 연결 관련 오류만 무시돼요. ClickHouse가 레플리카 중 하나에도 연결할 수 없거나, 한 레플리카의 호스트명을 DNS로 해석할 수 없을 때 샤드가 사용 불가한 것으로 간주돼요. -
unavailable_or_table_missing—unavailable에 더해, 샤드에서 테이블이나 데이터베이스가 없어서 발생한 오류도 무시돼요. 테이블이 클러스터 전체에서 생성되거나 삭제되는 동안 유용해요. 이것이 기본값이며skip_unavailable_shards의 기존 동작과 일치해요. 기존 동작도 테이블이 존재하지 않는 샤드를 사용 불가로 취급했어요. -
unavailable_or_exception_before_processing—unavailable에 더해, 샤드가 이니시에이터에 데이터 블록을 반환하기 전에 받은 모든 예외가 무시돼요. 샤드가 이미 일부 데이터를 반환한 후 도착한 예외는 항상 다시 던져져요. 단, "데이터를 반환하기 전"인지는 이니시에이터에서 확인된다는 점에 유의해요: 블로킹 계산(예: 집계, 정렬,LIMIT BY)을 수행하는 샤드는 블록을 내보내기 전에 행을 처리하고 실패할 수 있으며, 이 경우 부분 작업은 조용히 버려지고 나머지 샤드들로 만든 결과가 반환돼요. 따라서 이것은 가장 관대한 모드이므로 주의해서 사용해야 해요.