175 QueryPlanKilled: Query plan killed during execution
MongoDB의미
기반 데이터/컬렉션이 변경되어 실행 중인 쿼리의 계획이 무효화되었고 kill되었다. 안전하게 계속할 수 없어 쿼리가 중단되었다.
원인
쿼리가 실행되는 동안(특히 열린 커서가 있을 때) 컬렉션이 삭제되었거나, 사용 중인 인덱스가 삭제되었거나, rename/재구성이 발생했다. 장시간 실행되는 getMore 호출 중 기반 변경이 전형적인 트리거다.
해결 방법
쿼리/커서를 다시 시작한다(재시도). 쿼리가 실행되는 동안 컬렉션이나 인덱스에 파괴적인 DDL(drop, dropIndex, rename)이 실행되지 않도록 하고, 이런 유지보수는 쿼리 트래픽 외 시간에 예약한다. 장시간 읽기를 줄이고 필요한 인덱스가 영구적으로 유지되도록 한다.
같은 데이터베이스의 다른 항목
- 189 PrimarySteppedDownPrimary stepped down while operation was in progress (작업 진행 중 primary가 step down됨)
- 24 LockTimeoutOperation exceeded time limit waiting for a lock (락 대기 중 작업 시간 한도 초과)
- 7 HostNotFoundCould not find host
- 11602 InterruptedDueToReplStateChangeOperation interrupted due to a replication state change (복제 상태 변경으로 작업 중단)
- 136 CappedPositionLostCapped collection position lost
- 28 PathNotViableCannot use the part of the path to traverse the element (경로의 일부로 요소를 탐색할 수 없음)
- 216 ElectionInProgressElectionInProgress