136 CappedPositionLost: Capped collection position lost
MongoDBWas bedeutet das?
Ein Cursor, der eine Capped Collection (feste Größe) liest (typischerweise ein Tailable Cursor), hat seine Position verloren. Das Dokument, auf dem er stand, existiert nicht mehr, weil die Collection es zyklisch überschrieben hat.
Ursache
Ist eine Capped Collection voll, werden die ältesten Dokumente automatisch entfernt und überschrieben; ein Tailable Cursor, der einer Collection folgt, die schneller beschrieben wird, als er konsumieren kann, fällt zurück und seine Position wird überschrieben. Tritt bei Consumern auf, die Capped-Strukturen wie dem Oplog folgen.
Lösung
Positioniere den Cursor neu (öffne einen neuen Tailable Cursor) und starte das Tailing erneut; fange diesen Fehler in der Anwendung ab und lies neu. Ist die Grundursache ein Consumer, der mit der Schreibrate nicht mithält: Vergrößere die Capped Collection bzw. das Oplog oder beschleunige den Consumer. Nutze für eine zuverlässige Änderungsverfolgung nach Möglichkeit Change Streams statt Tailable Cursors.
Weitere Einträge zu dieser Datenbank
- 7 HostNotFoundCould not find host
- 175 QueryPlanKilledQuery plan killed during execution
- 11602 InterruptedDueToReplStateChangeOperation interrupted due to a replication state change
- 28 PathNotViableCannot use the part of the path to traverse the element
- 216 ElectionInProgressElectionInProgress
- 225 TransactionTooOldTransactionTooOld
- 246 SnapshotUnavailableSnapshotUnavailable