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

Follow up work for SERVER-61131

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.3.0
    • Affects Version/s: None
    • Component/s: None
    • Fully Compatible
    • ALL
    • Server Serverless 2022-01-24, Server Serverless 2022-02-07

      The contract is that fetcher callback should not throw exceptions,  breaching that contract causes the server to crash (due to uncaught exceptions). 

      [js_test:tenant_migration_donor_try_abort] d20067| {"t":{"$date":"2022-01-04T18:44:02.375+00:00"},"s":"F",  "c":"CONTROL",  "id":4757800, "ctx":"TenantMigrationRecipientService-1","msg":"Writing fatal message","attr":{"message":"terminate() called. An exception is active; attempting to gather more information"}}
      [js_test:tenant_migration_donor_try_abort] d20067| {"t":{"$date":"2022-01-04T18:44:02.375+00:00"},"s":"F",  "c":"CONTROL",  "id":4757800, "ctx":"TenantMigrationRecipientService-1","msg":"Writing fatal message","attr":{"message":"DBException::toString(): InterruptedDueToReplStateChange: operation was interrupted\nActual exception type: mongo::error_details::ExceptionForImpl<(mongo::ErrorCodes::Error)11602, mongo::ExceptionForCat<(mongo::ErrorCategory)2>, mongo::ExceptionForCat<(mongo::ErrorCategory)3>, mongo::ExceptionForCat<(mongo::ErrorCategory)14> >\n"}}

      We do some write ops (create collection and insert documents)  in _donorFilenameBackupCursorFileFetcher's callback. If a node shuts down or steps down, we interrupt the opCtx used by the writeOps that causes the write operation to fail and throw.

            christopher.caplinger@mongodb.com Christopher Caplinger
            suganthi.mani@mongodb.com Suganthi Mani
            0 Vote for this issue
            3 Start watching this issue