Ensure setAllowChunkOperations uses the Sharding-Fixed executor

XMLWordPrintableJSON

    • 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 resumeMigrationssetAllowChunkOperations, 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: