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

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Gone away
    • Icon: Major - P3 Major - P3
    • None
    • None
    • 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

    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.

      Attachments

        Activity

          People

            backlog-server-execution Backlog - Storage Execution Team
            benety.goh@mongodb.com Benety Goh
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: