Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-54150

Recovery from a stable checkpoint should fassert on oplog application failures

    • Replication
    • Minor Change
    • v7.0, v6.3, v6.2, v6.0, v5.0
    • Repl 2023-03-06, Repl 2023-03-20, Repl 2023-04-03, Repl 2023-05-01
    • 135

      Currently, we ignore certain errors when applying oplog in Mode::kRecovering for idempotency (e.g. this). This makes sense for initial sync, eMRC=false and rollback via refetch. But if we are recovering from a stable checkpoint, oplog application should be able to finish without any errors. And we should fassert on oplog application errors like we do in secondary oplog application.

      Skip fassert on oplog application failures in selective restore process:
      As the first step of selective restore is to start the shard node as a replica set to do oplog application of the snapshot taken for restore, so for selective restore we might still have some oplogs referencing the unrestored collections which will fail with collection see this test.Selective restore process done with --restore flag is enabled, so we need to skip fassert on oplog application failures. (See this PR for implementation)


            m.maher@mongodb.com Moustafa Maher
            lingzhi.deng@mongodb.com Lingzhi Deng
            0 Vote for this issue
            16 Start watching this issue