The 'local' DB may contain both a collection and a view on the same namespace after a crash

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: 7.0.0, 8.0.0, 8.2.0-rc0, 8.3.0-rc0, 9.0.0-rc0
    • Component/s: Catalog, WiredTiger
    • None
    • Catalog and Routing
    • ALL
    • 200
    • 馃煢 Shard Catalog
    • None
    • None
    • None
    • None
    • None
    • None

      For the 'local' database, the collection catalog (_mdb_catalog) and the view catalog (local.system.views) tables are recovered at different timestamps after a crash:

      This can lead to inconsistencies, for example:

      • At the stable timestamp "local.a" is a collection.
      • Since then, "local.a" has been dropped and re-created as a view, the insert to "local.system.views" has been journaled by WT.
      • The node crashes.
      • _mdb_catalog gets recovered to the stable timestamp ("local.a" is a collection).
      • local.system.views gets recovered from WiredTiger's journal ("local.a" is a view).

      A reproducer is attached.

      "local.system.views" should get the same recovery guarantees as "_mdb_catalog".

        1. repro-SERVER-122270.js
          1 kB
          Joan Bruguera Mic贸

            Assignee:
            Unassigned
            Reporter:
            Joan Bruguera Mic贸
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: