[SERVER-82230] Allow bulkWrite to accept array of documents in an op Created: 16/Oct/23  Updated: 07/Dec/23  Resolved: 07/Dec/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Sean Zimmerman Assignee: Backlog - Replication Team
Resolution: Won't Fix Votes: 0
Labels: milestone-1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-82054 Investigate and fix slow bulkWrite re... Closed
Assigned Teams:
Replication
Participants:

 Description   

During perf testing for bulkWrite we discovered that when we only allow a single document for an insert op we spend a large amount of time in IDL parsing since we need to parse 1000x BulkWriteInsertOp instead of allowing one BulkWriteInsertOp with 1000x documents. We saw significant performance speedups (+13%) when we use this form of parsing so we want to switch to using it permanently

This is an example commit of a prototype of this functionality. It works for the normal insert codepath but is not cleaned up and has not been tested with retryable writes, timeseries, fle, mongos, etc

This change should be mostly surgical, but there is one check we do that will be difficult with this new format and we will need to revisit.



 Comments   
Comment by Sean Zimmerman [ 07/Dec/23 ]

Opted not to do this

Generated at Thu Feb 08 06:48:37 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.