[SERVER-41462] do not lock RSTL for uninterruptible index lock operations Created: 03/Jun/19 Updated: 29/Oct/23 Resolved: 18/Jun/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | 4.2.0-rc2, 4.3.1 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Eric Milkie | Assignee: | Eric Milkie |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||
| Backport Requested: |
v4.2
|
||||||||||||||||||||||||
| Sprint: | Execution Team 2019-06-17, Execution Team 2019-07-01 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Linked BF Score: | 19 | ||||||||||||||||||||||||
| Description |
|
In order to break the cycle of some potential 3-way deadlocks involving index builds, prepared transactions, and step down, we will investigate not acquiring the RSTL for index build locks that are uninterruptible. This is acceptible because index builds that started running on a secondary, and index build aborts in general, do not need to coordinate with step up and step down because they are a rare type of operation that are not interrupted by step up/down. |
| Comments |
| Comment by Githook User [ 25/Jun/19 ] |
|
Author: {'name': 'Eric Milkie', 'username': 'milkie', 'email': 'milkie@10gen.com'}Message: This is safe to do because index builds started on secondaries do not need to synchronize with step up or step down via the RSTL. (cherry picked from commit beaa372035ef597e77db2220bb624028417d9ce5) |
| Comment by Githook User [ 18/Jun/19 ] |
|
Author: {'name': 'Eric Milkie', 'email': 'milkie@10gen.com', 'username': 'milkie'}Message: This is safe to do because index builds started on secondaries do not need to synchronize with step up or step down via the RSTL. |