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

Resharding recipient shard can install stale filtering information for the resharding temporary collection when aborting

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Cluster Scalability
    • ALL

      If the resharding recipient shard encounters a non retriable error in the cloning phase, it will inform the resharding coordinator so it will clean and abort the whole reshard operation.

      The steps it will take are the following:

      1. RecipientService -> fails
      2. CoordinatorService -> starts aborting
      3. CoordiantorService -> sends abort to all participants
      4. RecipientService -> starts aborting
      5. RecipientService -> drops temp resharding collection
      6. RecipientService -> clears filtering metadata
      7. RecipientService -> starts async install of the filtering metadata
      8. RecipientService -> finishes installing filtering metadata with stale information by the async refresh
      9. CoordinatorService -> cleans up resharing temporary collection metadata

      If (8) happens before (9), the recipient shard ends up with outdated filtering information for the temporary resharding collection.

            Unassigned Unassigned
            pol.pinol@mongodb.com Pol Pinol
            0 Vote for this issue
            6 Start watching this issue