The cluster parameter pauseMigrationsDuringMultiUpdates cause writes to report "namespace not found" if the db does not exists

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Query Execution
    • ALL
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Context
      Once the cluster parameter `pauseMigrationsDuringMultiUpdates` is enabled, any write will pass through a shard coordinator via the executeCoordinateMultiUpdate that runs a ShardsvrCoordinateMultiUpdate.

      Problem

      When a database is dropped, a delete should report "ok" with 0 documents deleted. This has been verified manually.
      However, if a router is stale:

      • the ShardsvrCoordinateMultiUpdate will fail with StaleDb
      • the router will try to refresh but find no db 
      • The cache will report "database not found"

      This error is forwarded to the application layer, causing a delete to fail with "NamespaceNotFound" instead of reporting "ok" with 0 documents deleted

      I attached a repro. 

            Assignee:
            Unassigned
            Reporter:
            Enrico Golfieri
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: