DBAtlas · 데이터베이스 운영 아틀라스

shard_lock_obtain_failed_exception: Obtaining shard lock timed out

Elasticsearch

의미

Elasticsearch가 샤드 작업에 필요한 로컬 디렉터리 락(shard lock)을 타임아웃 내에 획득하지 못했다. 샤드를 시작하거나 재할당할 수 없었다.

원인

같은 샤드의 이전 복사본(close/relocation 후)이 아직 락을 해제하지 않았거나, 느리거나 멈춘 I/O, 디스크 문제, 빠른 노드 재시작 후 정리되지 않은 오래된 샤드 상태가 원인이다. 보통 일시적이지만 지속되면 샤드가 UNASSIGNED 상태로 남는다.

해결 방법

샤드가 할당되지 않은 이유 확인: GET _cluster/allocation/explain. 대부분 락이 곧 해제되고 클러스터가 스스로 재시도한다. 필요하면 POST _cluster/reroute?retry_failed=true로 재할당을 트리거한다. 지속되면 영향을 받은 노드의 로그에서 I/O/디스크 오류를 확인하고 디스크 상태를 점검한다. 문제 노드를 깔끔하게 재시작하면 락이 해제될 수 있다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목