Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-38564

Eliminate redundant prepareSpecForCreate calls and improve/modularize our create indexes request checking/parsing story

    • Type: Icon: Task Task
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Storage
    • Storage Execution

      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.

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: