[SERVER-32875] Don't stall ftdc due to running out of tickets Created: 24/Jan/18  Updated: 30/Oct/23  Resolved: 31/Jan/18

Status: Closed
Project: Core Server
Component/s: Concurrency, Diagnostics
Affects Version/s: None
Fix Version/s: 3.4.12

Type: Bug Priority: Major - P3
Reporter: Bruce Lucas (Inactive) Assignee: Bruce Lucas (Inactive)
Resolution: Fixed Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File poc36.diff    
Issue Links:
Backports
Depends
is depended on by SERVER-32236 Avoid stalling ftdc when system is st... Closed
Related
related to SERVER-33233 Don't stall ftdc due to running out o... Closed
is related to SERVER-33238 Prevent WiredTiger read ticket count ... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v3.6, v3.4
Participants:
Case:

 Comments   
Comment by Kelsey Schubert [ 06/Jul/18 ]

A correct fix was applied to the 3.4 branch under SERVER-33233 in 3.4.14

Comment by Kelsey Schubert [ 12/Feb/18 ]

Reverted this fix in the 3.4 branch under SERVER-33238 in 3.4.13.

Comment by Githook User [ 12/Feb/18 ]

Author:

{'email': 'kelsey@mongodb.com', 'name': 'Kelsey Schubert', 'username': 'Schubes'}

Message: Revert "SERVER-32875 Don't stall ftdc due to running out of tickets"

This reverts commit 04600d70a4e4ac85c5f199c5756e0e5acb2a7d05.
Branch: v3.6
https://github.com/mongodb/mongo/commit/ac19d2bd2acbc63ba719bd6ddd3fe10fafdf2385

Comment by Githook User [ 12/Feb/18 ]

Author:

{'email': 'kelsey@mongodb.com', 'name': 'Kelsey Schubert', 'username': 'Schubes'}

Message: Revert "SERVER-32875 Don't stall ftdc due to running out of tickets"

This reverts commit da5520555faef9a2ba9b6c9ec80539ae95ad88a5.
Branch: master
https://github.com/mongodb/mongo/commit/37505c95cf5f7ededc83fc6a855a46653ac39383

Comment by Githook User [ 31/Jan/18 ]

Author:

{'email': 'bruce.lucas@mongodb.com', 'name': 'Bruce Lucas'}

Message: SERVER-32875 Don't stall ftdc due to running out of tickets
Branch: v3.4
https://github.com/mongodb/mongo/commit/4fa890fa8b6ba3b438213efcfab07b588fd58e63

Comment by Githook User [ 31/Jan/18 ]

Author:

{'email': 'bruce.lucas@mongodb.com', 'name': 'Bruce Lucas'}

Message: SERVER-32875 Don't stall ftdc due to running out of tickets
Branch: v3.6
https://github.com/mongodb/mongo/commit/04600d70a4e4ac85c5f199c5756e0e5acb2a7d05

Comment by Githook User [ 31/Jan/18 ]

Author:

{'email': 'bruce.lucas@mongodb.com', 'name': 'Bruce Lucas'}

Message: SERVER-32875 Don't stall ftdc due to running out of tickets
Branch: master
https://github.com/mongodb/mongo/commit/da5520555faef9a2ba9b6c9ec80539ae95ad88a5

Comment by Bruce Lucas (Inactive) [ 26/Jan/18 ]

This is simple to reproduce: start a foreground index build, then start >128 threads trying to read from the collection being indexed. This stalls FTDC.

Would a possible simple solution be to add a flag to OperationContext that means to opt out of the ticket mechanism for all operations on that context? Attached is a simple POC to do that. As a POC it's only a few lines of code, although with proper engineering it would be a little larger.

With this POC FTDC no longer stalls in the above repro.

Generated at Thu Feb 08 04:31:33 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.