-
Type:
Bug
-
Resolution: Done
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
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.
- is depended on by
-
SERVER-127636 Ensure Resharding behaves correctly with an active IRRL.
-
- Closed
-