[SERVER-82598] Avoid stage reset in UpdateOne Created: 30/Oct/23  Updated: 24/Jan/24  Resolved: 18/Dec/23

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

Type: Task Priority: Major - P3
Reporter: Mark Benvenuto Assignee: Zixuan Zhuang
Resolution: Fixed Votes: 0
Labels: perf-8.0, perf-tiger, perf-tiger-handoff, perf-tiger-poc, perf-tiger-q4, query-perf-q4
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Assigned Teams:
Query Execution
Backwards Compatibility: Fully Compatible
Sprint: QE 2023-12-11, QE 2023-12-25
Participants:

 Description   

In UpdateOne, after an update is complete in UpdateOne, we reset the collection stage to open a new cursor. This opens up a new WT transaction but this transaction is never user for anything. Instead, we simply time opening and closing the transaction. In the case where we know we are in an UpdateOne, we should simply skip this step.

I have not quantified this change in a standalone patch.

POC: https://github.com/10gen/mongo/commit/a6e7304dc082ef858e83b9fb924376780bea365c



 Comments   
Comment by Githook User [ 16/Dec/23 ]

Author:

{'name': 'zixuan zhuang', 'email': 'zixuan.zhuang@mongodb.com', 'username': 'leozzx'}

Message: SERVER-82598 Avoid stage reset in UpdateOne

GitOrigin-RevId: 652be5d76ffccad4515a5c61702210eb1e6de61d
Branch: master
https://github.com/mongodb/mongo/commit/f1bc4b284a6623ddb24da6aa9ceda74d3d092591

Comment by Ian Boros [ 14/Nov/23 ]

SERVER-81850 will make it so we bypass this codepath for IDHACK queries. But this would help for non-id based updates.

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