[SERVER-12368] Do not reacquire collection* in recoverFromYield during Update Created: 15/Jan/14  Updated: 12/Jun/15  Resolved: 12/Jun/15

Status: Closed
Project: Core Server
Component/s: Internal Code, Performance, Write Ops
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Minor - P4
Reporter: Scott Hernandez (Inactive) Assignee: Scott Hernandez (Inactive)
Resolution: Done Votes: 0
Labels: mutex, perfomance, update
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Participants:

 Description   

After fixing the underlying issue in update some defensive code was left in recoveryFromYield (update.cpp) which is (probably) no longer needed and will only degrade performance because of the mutexes needed to reacquire the collection*.



 Comments   
Comment by Scott Hernandez (Inactive) [ 12/Jun/15 ]

After the rewrite of update into a (query system) stage the collection* is now valid for the lifetime of the update, and the update cannot resume from a yield if the collection changes because the update will be killed, from the query side of things, resulting in the update ending during/before yield recovery.

Comment by Andy Schwerin [ 11/Jun/15 ]

scotthernandez, is this still a problem?

Generated at Thu Feb 08 03:28:22 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.