MovePrimarySourceManager can throw unhandled exception in a scope guard

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Duplicate
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Sharding
    • Sharding
    • ALL
    • v4.0
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      The MovePrimarySourceManager calls cleanupOnError in a ScopeGuard in a few places, and in this method it wraps a call to ShardingCatalogCatalogClientImpl::logChange with uassertStatusOK inside a try catch statement that only catches NotMaster errors. If the CSRS is unreachable, the log could fail with an error other than NotMaster (like a network or read preference error), which would lead to std::terminate.

            Assignee:
            [DO NOT USE] Backlog - Sharding Team
            Reporter:
            Jack Mulrow
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: