[SERVER-37861] Add writeConflictRetry to wildcard index multikey metadata path extraction Created: 01/Nov/18 Updated: 29/Oct/23 Resolved: 29/Nov/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | None |
| Fix Version/s: | 4.1.6 |
| Type: | Improvement | Priority: | Minor - P4 |
| Reporter: | James Wahlin | Assignee: | Charlie Swanson |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Sprint: | Query 2018-11-19, Query 2018-12-03, Query 2018-12-17 | ||||||||
| Participants: | |||||||||
| Description |
|
Extraction of wildcard index multikey metadata keys is performed outside of a writeConflictRetry wrapper. Without this wrapper any WriteConflictException thrown by a SortedDataInterface::Cursor method will not be retried, resulting in operation failure. We should add writeConflictRetry to allow for retry when this data is being retrieved outside of a WriteUnitOfWork. |
| Comments |
| Comment by Githook User [ 29/Nov/18 ] |
|
Author: {'name': 'Charlie Swanson', 'email': 'charlie.swanson@mongodb.com', 'username': 'cswanson310'}Message: |
| Comment by David Storch [ 09/Nov/18 ] |
|
geert.bosch the query engine has a whole bunch of WCE handling logic. This was introduced for 3.2 in |
| Comment by Geert Bosch [ 08/Nov/18 ] |
|
A WriteConflict exception can't be thrown for a read outside a WriteUnitOfWork, so this is not an issue. If the operation is inside a WriteUnitOfWork it must already have retry logic. |
| Comment by James Wahlin [ 01/Nov/18 ] |
|
Description added. |
| Comment by Andy Schwerin [ 01/Nov/18 ] |
|
More description, please. |