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

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: Storage
    • Operating System:
      ALL
    • Sprint:
      Execution Team 2021-06-14, Execution Team 2021-06-28, Execution Team 2021-07-12, Execution Team 2021-07-26, Execution Team 2021-09-06
    • Linked BF Score:
      31

      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

          Issue Links

            Activity

              People

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

                Dates

                Created:
                Updated: