[SERVER-38564] Eliminate redundant prepareSpecForCreate calls and improve/modularize our create indexes request checking/parsing story Created: 12/Dec/18  Updated: 06/Dec/22  Resolved: 27/Apr/20

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

Type: Task Priority: Major - P3
Reporter: Dianna Hohensee (Inactive) Assignee: Backlog - Storage Execution Team
Resolution: Won't Fix Votes: 0
Labels: techdebt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-38872 Move createIndexes command object val... Backlog
is related to SERVER-38873 Set up the create_indexes.idl in the ... Backlog
Assigned Teams:
Storage Execution
Participants:

 Description   

We appear to leave createIndexes command object checking to deep down in the MultiIndexBlock, as well as scattering it around in higher level locations. There is redundancy, as well as annoyingly backwards – in the sense that requests should be validated at a higher level – and difficult to discover user error handling and checking.

For example, create_indexes.cpp calls prepareSpecForCreate, which is also done in MultiIndexBlock::init and in the IndexCatalog::removeExistingIndexes.

This ticket is to explore and eliminate redundancy if possible, add documentation to prepareSpecForCreate (what it does, precisely), raise error checking to a higher level such that lower level code invariants because it was given a bad request, and fundamentally create an actual story for index build request error checking and handling.

This will improve the IndexBuildCoordinator's ability to find/match build requests for its operations, because the specs will all be correct before they arrive in the coordinator.


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