[SERVER-56108] [ephemeralForTest] view creation fails with NamespaceExists error if WUOW throws WCE at commit time Created: 15/Apr/21 Updated: 27/Oct/23 Resolved: 27/Apr/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Benety Goh | Assignee: | Backlog - Storage Execution Team |
| Resolution: | Gone away | Votes: | 0 |
| Labels: | EFT, read-only-views | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Assigned Teams: |
Storage Execution
|
||||||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||||||
| Sprint: | Execution Team 2021-06-14, Execution Team 2021-06-28, Execution Team 2021-07-12, Execution Team 2021-07-26 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Linked BF Score: | 15 | ||||||||||||||||||||||||
| Description |
|
The view creation logic currently depends on the WriteUnitOfWork committing successfully after calling ViewCatalogWriter::commit(). The issue here is that it is possible for the ephemeralForTest RecoveryUnit implementation to throw a WriteConflictException while committing. The WiredTiger RecoveryUnit does not have this behavior (as far as I know). A view creation under the ephemeralForTest storage engine that fails in this manner will encounter an inconsistent ViewCatalog on the second iteration of the WriteConflictException retry loop, leading to the NamespaceExists error. |