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

Make Merge recipient's operations interruptible

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Won't Do
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • Serverless

    Description

      We use low-level WT APIs in wiredtiger_import.cpp, since the higher-level MongoDB APIs don't play well with a second, temporary WT instance. But this means we don't automatically handle interrupts, e.g. when the node starts to shut down or step down.

      Use OperationContext to check for interrupts regularly during WT operations like rollback-to-stable, recording collection metadata, and importing donor files.

      In TenantMigrationRecipientService there are several places that do:

      return WaitForMajorityService::get(opCtx).waitUntilMajority(writeOpTime, CancellationToken::uncancelable());
      

      There's a cancellation token available, let's use it instead of uncancelable.

      _fetchAndStoreDonorClusterTimeKeyDocs takes a cancellation token but doesn't use it.

      Attachments

        Activity

          People

            backlog-server-serverless [DO NOT USE] Backlog - Server Serverless (Inactive)
            jesse@mongodb.com A. Jesse Jiryu Davis
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: