[SERVER-44030] Remove global X lock for mapReduce Created: 15/Oct/19 Updated: 05/Nov/19 Resolved: 05/Nov/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Lingzhi Deng | Assignee: | James Wahlin |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Backport Requested: |
v4.2
|
||||||||||||||||||||
| Sprint: | Query 2019-11-18 | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Description |
|
Remove global X lock acquisition for mapReduce. This is because acquiring global lock in X mode can be blocked by prepared transactions. The enqueued global X lock can block oplog queries which need the global IS lock. If these oplog queries and the data replication are needed to satisfy the prepared transaction's write concern, then the prepare transaction and replication cannot make progress. Thus a deadlock occurs. Alternatively, if removing global X lock is not an option, deprecate the command or make sure it won't be blocked on prepare transactions. |
| Comments |
| Comment by James Wahlin [ 05/Nov/19 ] |
|
Closing this as a duplicate of |
| Comment by Craig Homa [ 29/Oct/19 ] |
|
James will investigate if there are related tickets that can be linked to this, from which we will determine next steps. |