112: WriteConflict (Fehlercode 112)
MongoDBWas bedeutet das?
Ein Schreibkonflikt, der entsteht, wenn zwei parallele Operationen dasselbe Dokument bzw. dieselben Dokumente ändern wollen. Wegen der optimistischen Nebenläufigkeitskontrolle setzt WiredTiger eine der Operationen zurück.
Ursache
Stark parallele Schreibzugriffe auf dieselben Dokumente, kollidierende Updates in lang laufenden Transaktionen, starke Konkurrenz um ein Hot Document.
Lösung
Wiederhole die Operation; WriteConflict ist meist transient und wird durch eine Wiederholung gelöst (er trägt das Label TransientTransactionError). Halte Transaktionen kurz und reduziere die Zahl der berührten Dokumente. Überprüfe das Datenmodell, um Konkurrenz um dasselbe Dokument zu verringern. Implementiere in der Anwendung Wiederholungen mit exponentiellem Backoff.