[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: GitOrigin-RevId: 652be5d76ffccad4515a5c61702210eb1e6de61d |
| 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. |