fail_points 시스템 테이블
fail_points 시스템 테이블
fail_points 시스템 테이블은 서버에 등록된 모든 사용 가능한 failpoint 목록을 그 유형과 현재 활성화 여부와 함께 담고 있어요.
출처: 문서
본문
Description (설명)
서버에 등록된 모든 사용 가능한 failpoint 목록을 그 유형과 현재 활성화 여부와 함께 담고 있어요. failpoint 지원이 있는 빌드(USE_LIBFIU=1)에서는 SYSTEM ENABLE FAILPOINT와 SYSTEM DISABLE FAILPOINT 문을 사용해 런타임에 failpoint를 활성화/비활성화할 수 있어요. 이 문은 failpoint 지원이 없는 빌드에서는 사용할 수 없지만, 테이블은 계속 사용할 수 있어요. SYSTEM DISABLE ALL FAILPOINTS는 모든 failpoint를 한 번에 비활성화하고 일시 중지 가능한 failpoint에 막힌 모든 스레드를 재개하며, 현재 무엇이 활성화되어 있는지 알 필요 없이 서버를 깨끗한 상태로 되돌리는 데 유용해요.
Columns (열)
name(String) — failpoint의 이름.type(Enum8(‘once’ = 0, ‘regular’ = 1, ‘pauseable_once’ = 2, ‘pauseable’ = 3)) — failpoint의 유형: ‘once’는 한 번 실행 후 자동 비활성화, ‘regular’는 매번 실행, ‘pauseable_once’는 실행을 한 번 차단, ‘pauseable’은 재개될 때까지 매번 실행을 차단.enabled(UInt8) — failpoint가 현재 활성화(1) 또는 비활성화(0)인지 여부.
Example (예제)
이 예제는 failpoint 지원(USE_LIBFIU=1)이 있는 빌드가 필요해요.
Query (쿼리)
SYSTEM ENABLE FAILPOINT replicated_merge_tree_insert_retry_pause;
SELECT * FROM system.fail_points WHERE enabled = 1
Response (응답)
┌─name──────────────────────────────────────┬─type────────────┬─enabled─┐
│ replicated_merge_tree_insert_retry_pause │ pauseable_once │ 1 │
└───────────────────────────────────────────┴─────────────────┴─────────┘