[SERVER-40301] Don't access the filesystem under std::mutex in the chunk cloner's nextCloneBatch() Created: 22/Mar/19 Updated: 29/Oct/23 Resolved: 03/Apr/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | 3.4.20, 3.6.11, 4.0.7, 4.1.9 |
| Fix Version/s: | 4.1.10 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Blake Oler | Assignee: | Randolph Tan |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | sharding-wfbf-day | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||
| Sprint: | Sharding 2019-04-08 | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Linked BF Score: | 19 | ||||||||||||||||||||
| Description |
|
Accessing the filesystem under a std::mutex can cause deadlocks. When retrieving the next clone batch in the migration cloner source, we check if each document still exists in the storage subsystem. This is done under the cloner's internal mutex. We should rework the function so to not access the storage subsystem while holding the mutex. |
| Comments |
| Comment by Githook User [ 03/Apr/19 ] |
|
Author: {'email': 'randolph@10gen.com', 'name': 'Randolph Tan', 'username': 'renctan'}Message: |