[SERVER-74959] Do not apply max lock timeout to ticket acquisition Created: 16/Mar/23  Updated: 29/Oct/23  Resolved: 23/Mar/23

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

Type: Task Priority: Major - P3
Reporter: Gregory Noma Assignee: Gregory Noma
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Problem/Incident
Related
is related to SERVER-75195 Holistic policy for which resources s... Backlog
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2023-03-20, Execution Team 2023-04-03
Participants:
Linked BF Score: 143

 Description   

The locker has the ability to set a max timeout for any lock acquisitions. However now that ticket pool size may be smaller, it's more likely for queueing to occur at the ticket acquisition step. Thus we should consider only applying this max timeout to the actual locks and not the ticket acquisition.

In the general case this should be safe because the ticket pools are global resources and therefore there are no ordered concerns with regard to deadlocks. For multi-doc txns which reacquire a ticket out of order with locks, instead of relying on the timeout we can instead detect the deadlock scenario and abort in that case.



 Comments   
Comment by Githook User [ 23/Mar/23 ]

Author:

{'name': 'Gregory Noma', 'email': 'gregory.noma@gmail.com', 'username': 'gregorynoma'}

Message: SERVER-74959 Ignore max lock timeout for ticket acquisition
Branch: master
https://github.com/mongodb/mongo/commit/642d0a1318833017fe865e8c3b4216ae48a00991

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