ExportXMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Execution
    • ALL
    • 0
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Bug

      Startup replication recovery assumes "that the size metadata on disk is already correct with respect to the end state of recovery", except for the oplog and empty collections, and skips adjusting collection size and counts. This assumption is incorrect on a secondary when (1) some portion of its oplog is durable but not applied and (2) that portion contains changes to a non-empty collection's size/count.

      During clean shutdown, sizeStorer updates can be lost and not fixed upon startup recovery.

      Reproducible Example

      WIP

      Solution

      In rollback_impl.cpp, we perform a collection scan to repair incorrect size/counts. We may need to perform a similar collection scan on recovery as well. I have two options questions:

      1. How do we determine the set of collections that need repair during recovery?
      2. Adding collection scans to recovery seems cost-prohibitive. Is there another way?

      SPM-4163 also fixes this problem, but the feature is not supported on ASC yet.

            Assignee:
            Unassigned
            Reporter:
            Cedric Sirianni
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: