Move the Database class' epoch into the CollectionCatalog

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 4.7.0
    • Affects Version/s: None
    • Component/s: Storage
    • None
    • Fully Compatible
    • Execution Team 2020-05-18
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      The Database _epoch field is initialized on instantiation of a DatabaseImpl. It is never reset, so it can only change by dropping and recreating the database. The only user is RequiresCollectionStage, which checks that the db epoch has not changed on restore after a query yield.

      RequiresCollectionStage also tracks collection UUID to check on restore. Therefore, checking the db epoch is superfluous. If the database is dropped and recreated, then the collection is dropped and recreated, which means the UUID changes.

      However, the database epoch also changes when the catalog is closed and reopened, recreating the Database objects. Therefore, we can safely move tracking to the CollectionCatalog class.

            Assignee:
            Dianna Hohensee (Inactive)
            Reporter:
            Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: