[SERVER-39968] improve filtering logic in IndexBuildsCoordinator during secondary oplog application Created: 05/Mar/19  Updated: 06/Dec/22

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

Type: Improvement Priority: Major - P3
Reporter: Benety Goh Assignee: Backlog - Storage Execution Team
Resolution: Unresolved Votes: 0
Labels: techdebt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Problem/Incident
is caused by SERVER-39085 move secondary oplog application logi... Closed
Assigned Teams:
Storage Execution
Backwards Compatibility: Fully Compatible
Participants:

 Description   

This is a follow-up work to SERVER-39085 that seeks to clarify the logic for selectively filtering and adding collation defaults to the provided index specs as well as determining which registration errors are ignorable.

Currently IndexBuildsCoordinator::_registerAndSetUpIndexBuild() bypasses both filtering and adding collation defaults on secondary. It may be feasible to bypass just the
addCollationDefaultsToIndexSpecsForCreate() call alone.

There is also a potential improvement for _registerAndSetUpIndexBuild() to return early rather than wait for IndexBuildsManager::setUpIndexBuild() to fail and check its result for ignorable errors.

This may allow up to skip some of the registration and setup and makes it clearer that secondary oplog application will ignore index inconsistency across replica set members.


Generated at Thu Feb 08 04:53:39 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.