[SERVER-43066] Unhandled WriteConflictException during MultiIndexBlock::insertAllDocumentsInCollection Created: 28/Aug/19 Updated: 04/Nov/19 Resolved: 04/Nov/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Index Maintenance, Querying |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Maria van Keulen | Assignee: | Gregory Wlodarek |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Operating System: | ALL | ||||||||||||
| Sprint: | Execution Team 2019-11-04 | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
MultiIndexBlock::insertAllDocumentsInCollection calls PlanExecutorImpl::getNextSnapshotted, which can potentially throw a WriteConflictException. This can occur if a WriteConflictException is caught here. Commands that rely on MultiIndexBlock::insertAllDocumentsInCollection, e.g., reIndex, may encounter WriteConflict errors as a result. |
| Comments |
| Comment by Gregory Wlodarek [ 04/Nov/19 ] |
|
The mentioned WriteConflictException in the title will only throw when there is cache pressure in WiredTiger. Additionally, we should not wrap read operations in WriteConflictExceptions. |