[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:
Depends
depends on SERVER-57250 CollectionCatalog should handle and o... Closed
Related
related to SERVER-58515 [ephemeralForTest] disable parallel t... Closed
related to SERVER-58597 [ephemeralForTest] enable parallel ta... Closed
is related to SERVER-57250 CollectionCatalog should handle and o... Closed
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.


Generated at Thu Feb 08 05:38:22 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.