[SERVER-43622] ShardingReplicaSetChangeListener::onConfirmedSet should not make blocking calls inside executor Created: 25/Sep/19  Updated: 12/Dec/23

Status: Backlog
Project: Core Server
Component/s: Sharding
Affects Version/s: 4.2.0
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Randolph Tan Assignee: Backlog - Cluster Scalability
Resolution: Unresolved Votes: 0
Labels: sharding-common-backlog
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-43581 Create sharding passthrough with fixe... Closed
Assigned Teams:
Cluster Scalability
Participants:
Story Points: 3

 Description   

The issue is that the callback is running in the fixed executor and then also tries doing a blocking call inside the fixed executor here. So in an environment where number of worker threads <= number of shards, then the change callback for different replica sets happened roughly at the same time, all of them will be blocked waiting for a worker thread to be available (which are none, since all of them are waiting for the same thing)


Generated at Thu Feb 08 05:03:38 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.