[SERVER-32047] The `forceRoutingTableRefresh` command waits for migration critical section while holding a lock Created: 20/Nov/17 Updated: 30/Oct/23 Resolved: 21/Nov/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | 3.6.0-rc4 |
| Fix Version/s: | 3.6.0-rc5, 3.7.1 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Kaloian Manassiev | Assignee: | Kaloian Manassiev |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Operating System: | ALL | ||||||||
| Backport Requested: |
v3.6
|
||||||||
| Sprint: | Sharding 2017-12-04 | ||||||||
| Participants: | |||||||||
| Linked BF Score: | 0 | ||||||||
| Description |
|
The code under forceRoutingTableRefresh is waiting for the migration critical section while holding a lock. While waiting for condition variable while holding a lock is in most cases illegal, this particular case is also a guaranteed deadlock since the move chunk sequence won't be able to ever leave the migration critical section. |
| Comments |
| Comment by Githook User [ 21/Nov/17 ] |
|
Author: {'name': 'Kaloian Manassiev', 'username': 'kaloianm', 'email': 'kaloian.manassiev@mongodb.com'}Message: (cherry picked from commit 1ed3f218239da2a3913dba8d45f59a7dab430fd3) |
| Comment by Githook User [ 21/Nov/17 ] |
|
Author: {'name': 'Kaloian Manassiev', 'username': 'kaloianm', 'email': 'kaloian.manassiev@mongodb.com'}Message: |