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

Make Merge recipient's operations interruptible

    • Type: Icon: Task Task
    • Resolution: Won't Do
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Serverless

      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.

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

              Created:
              Updated:
              Resolved: