DBAtlas · Atlas für Datenbankbetrieb

136 CappedPositionLost: Capped collection position lost

MongoDB

Was 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.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank