ExportXMLWordPrintableJSON

    • Cluster Scalability
    • ALL
    • ClusterScalability 22Jun-6Jul, ClusterScalability 6Jul-20Jul
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      During resharding commit and abort (mission critical commands that should not be rate limited), the coordinator calls resumeMigrations → setAllowChunkOperations, which broadcasts ShardsvrSetAllowChunkOperations to all shards via scatterGatherUnversionedTargetAllShards. That helper has no executor parameter and always falls back to Grid::getExecutorPool()->getArbitraryExecutor(), which opens connections with appName prefix NetworkInterfaceTL-TaskExecutorPool-N. TaskExecutorPool executors are intentionally not IRRL-exempt (they handle user-facing scatter-gathers such as find fan-outs). When IRRL is active on participant shards, every broadcast attempt is rejected with IngressRequestRateLimitExceeded (a retryable error), causing the coordinator's .withBackoffBetweenIterations retry loop to spin without bound.

      The pre-9.0 code path (setAllowMigrationsOnConfigServer) sends a single command to the config server and is unaffected.

      The 9.0 path (setAllowChunkOperations) adds a broadcast to all shards that was not IRRL-exempt.

            Assignee:
            Nandini Bhartiya
            Reporter:
            Nandini Bhartiya
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: