[DRIVERS-2159] How should drivers handle non-write errors in Unordered Bulk Writes? Created: 09/Jan/19  Updated: 29/Jun/22

Status: Backlog
Project: Drivers
Component/s: Bulk API
Fix Version/s: None

Type: Spec Change Priority: Major - P3
Reporter: Daniel Aprahamian (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
Related
related to DRIVERS-716 Improved Bulk Write API Designing
is related to DRIVERS-2090 Discuss errors that may interrupt a b... Backlog
is related to DRIVERS-2093 How should drivers handle multiple Wr... Backlog
Driver Changes: Needed

 Description   

In working on NODE-1702, I realized that Node's Unordered Bulk Write implementation will only propagate a non-(write|writeconcern) error if it happens to occur on the last batch to return. This is definitely not proper behavior, but I could not find in our specification what the proper behavior is in this case.

Some example cases:

  1. A Network Error that affects only one of the batches in a bulk write. All other writes succeed
  2. An Auth error that happens on all the batches
  3. A Server-Side error (malformed query args, BSON max size exceeded, etc.)

What is the correct way for an unordered bulk write to handle an error in these cases?



 Comments   
Comment by Kaitlin Mahar [ 29/Jun/22 ]

Linking to DRIVERS-716 as something to consider writing the new spec.

cc isabel.atkinson@mongodb.com 

 

Comment by Jeremy Mikola [ 29/Jan/19 ]

Note: it may make sense to do this as part of a new spec derived from the legacy bulk update spec, after which we can delete the old spec (alternatively, the old spec can be heavily rewritten).

Generated at Thu Feb 08 08:24:52 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.