[SERVER-46817] Primary and secondaries can disagree on indexBuildsCoordinator worker thread availability Created: 12/Mar/20  Updated: 27/Oct/23  Resolved: 02/Apr/20

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Suganthi Mani Assignee: Backlog - Storage Execution Team
Resolution: Gone away Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-46656 Secondary and primary can disagree on... Closed
Assigned Teams:
Storage Execution
Operating System: ALL
Participants:

 Description   

Currently Cloner::copyIndexes, on primary builds indexes w/o using indexBuildsCoordinator thread pool, but generates start and commit indexBuild oplog entry. This can lead to primary and secondaries disagreeing on indexBuildsCoordinator worker thread availability. consider a case, its a 2 node replica set and thread pool size is 1 and if we get oplog sequence some like below.

1) startIndexBuild for index x_1 on foo.bar ==> started as part of Cloner::copyIndexes,
2) startIndexBuild for index y_1 on some.random ==> started by user using createIndexes command.
3) commitIndexBuild for index x_1
4) commitIndexBuild for index y_1



 Comments   
Comment by Eric Milkie [ 12/Mar/20 ]

Perhaps we can change the Cloner to only build indexes on empty collections, as that is the only way it's used now, we suspect.

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