Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-56108

[ephemeralForTest] view creation fails with NamespaceExists error if WUOW throws WCE at commit time

    • Type: Icon: Bug Bug
    • Resolution: Gone away
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Storage
    • Storage Execution
    • ALL
    • Execution Team 2021-06-14, Execution Team 2021-06-28, Execution Team 2021-07-12, Execution Team 2021-07-26
    • 15

      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.

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            benety.goh@mongodb.com Benety Goh
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: