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

246 SnapshotUnavailable: SnapshotUnavailable

MongoDB

의미

서버가 해당 시점에 대한 일관된 스냅샷을 제공할 수 없어 요청한 snapshot read concern(readConcern: snapshot)으로 읽기를 수행할 수 없었다. 보통 읽기 타임스탬프가 충분히 진행되지 않았거나 뒤처진 것과 관련이 있다.

원인

readConcern 'snapshot'을 사용하지만(주로 multi-document 트랜잭션에서) 요청한 atLeast/at 타임스탬프에 대한 일관된 뷰가 아직 없는 경우다. 예: 새로 생성된 컬렉션/인덱스, 카탈로그 변경, 복제 지연. 이 경우 서버가 읽기를 거부한다.

해결 방법

보통 일시적이다. 잠시 후 작업을 재시도한다(드라이버의 transient transaction error 재시도 메커니즘이 이를 처리한다). 최근 DDL(컬렉션/인덱스 생성)을 실행했다면 그 이후에 트랜잭션을 시작한다. 복제 지연과 노드 상태를 확인한다. 스냅샷 읽기가 실제로 필요하지 않다면 더 적합한 readConcern을 선택한다.

DBAtlas에서 열기 →

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