[SERVER-33630] Enhance Index builds to use interruptible locking Created: 02/Mar/18 Updated: 27/Oct/23 Resolved: 19/Aug/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | 3.7.3 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Louis Williams | Assignee: | Backlog - Storage Execution Team |
| Resolution: | Gone away | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Storage Execution
|
| Operating System: | ALL |
| Participants: |
| Description |
|
Exposed by BF-8228, if an index build is interrupted when attempting to acquire a lock, it can call terminate() due to inadequate exception handling. An UninterruptibleLockGuard has been placed over the entire command, but index builds should not crash the server if relockWithMode() throws an exception. |
| Comments |
| Comment by Eric Milkie [ 09/Mar/18 ] |
|
Note that today, index builds are interruptible, but this is only supported at specific points where checkForInterrupt() is explicitly called. The work in this ticket would enable checking for interrupt at other points, specifically where locks are acquired. |