[CDRIVER-3305] OP_MSG unordered bulk writes should not stop upon first error Created: 11/Aug/19  Updated: 28/Oct/23  Resolved: 02/Apr/20

Status: Closed
Project: C Driver
Component/s: Bulk API, libmongoc
Affects Version/s: None
Fix Version/s: 1.17.0-beta, 1.17.0

Type: Bug Priority: Major - P3
Reporter: Kevin Albertson Assignee: Roberto Sanchez
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Gantt Dependency
has to be done after CDRIVER-3306 Do not assume non-empty server reply ... Closed
has to be done after CDRIVER-3587 Do not reuse server stream that becom... Closed
Related
related to CDRIVER-3239 Driver aborts during OP_MSG bulk writ... Closed

 Description   

_mongoc_write_opmsg sets the write result's must_stop to true upon any error in sending the write command.

This bubbles up to mongoc_bulk_operation_execute here causing the entire bulk operation to fail.

Per the crud spec for the "ordered" option of bulk writes:

/**

  • If true, when a write fails, return without performing the remaining
  • writes. If false, when a write fails, continue with the remaining writes, if any.
  • Defaults to true.
    */
    ordered: Boolean;


 Comments   
Comment by Githook User [ 02/Apr/20 ]

Author:

{'name': 'Roberto C. Sánchez', 'email': 'roberto@connexer.com', 'username': 'rcsanchez97'}

Message: CDRIVER-3305 stop unordered bulk writes only on invalid server stream
Branch: master
https://github.com/mongodb/mongo-c-driver/commit/c33908084742dd17ec768326fc60a7942a215f8d

Generated at Wed Feb 07 21:17:39 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.