[SERVER-45276] Release lock before destroying DBClientBases Created: 20/Dec/19  Updated: 29/Oct/23  Resolved: 03/Jan/20

Status: Closed
Project: Core Server
Component/s: Networking, Sharding
Affects Version/s: None
Fix Version/s: 4.3.3

Type: Bug Priority: Major - P3
Reporter: Matthew Saltz (Inactive) Assignee: Benjamin Caimano (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Backwards Compatibility: Fully Compatible
Operating System: ALL
Participants:
Linked BF Score: 21

 Description   

An error occurs in testing because DBConnectionPool acquires its mutex (declared here at acquisition level 0) in this function which eventually tries to acquire this latch which was declared here at lock level 0, causing an InvalidWasPresent error. We should reconsider the lock level in DBConnectionPool maybe, or reconsider whether it is necessary to have a mutex in ConnectionShardStatus.



 Comments   
Comment by Githook User [ 03/Mar/20 ]

Author:

{'name': 'Ben Caimano', 'email': 'ben.caimano@10gen.com'}

Message: SERVER-43945 Expose out of order latch acquisitions in serverStatus

This commit also backports:

SERVER-42897 Validate base-level latches
SERVER-44746 Fix LatchAnalyzerTest
SERVER-44155 Validate a subset of latches of all levels
SERVER-45691 Change Mutex::LockListeners to use a std::vector again
SERVER-45793 Improve mongo::Mutex contract
SERVER-45424 Track local latch::Identities when getTestCommandsEnabled()
SERVER-46041 Add DiagnosticListener/WaitListener LSAN suppressions
SERVER-46461 Make static in getDiagnosticListenerState() immortal to fix destruction order issues during shutdown
SERVER-46197 Make build flag to disable diagnostic latches
SERVER-45276 Release lock before destroying DBClientBases
Branch: v4.2
https://github.com/mongodb/mongo/commit/24b6ee2dd48e3f1cfde1c4d7e2b01bd73921fbad

Comment by Githook User [ 03/Jan/20 ]

Author:

{'name': 'Ben Caimano', 'email': 'ben.caimano@mongodb.com', 'username': 'bcaimano'}

Message: SERVER-45276 Release lock before destroying DBClientBases
Branch: master
https://github.com/mongodb/mongo/commit/6ac9ecb3b589d62497241d355233f2a29f338fb0

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