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

Create an index builds interface for the embedded version of the server

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.1.7
    • Affects Version/s: None
    • Component/s: Storage
    • Labels:
      None
    • Fully Compatible
    • Storage NYC 2018-12-03, Storage NYC 2018-12-17
    • 5

      The IndexBuildsCoordinator is for managing index builds across a replica set. It links in networking and has a ThreadPool on which to run index builds.

      The embedded server cannot link to networking code, nor can it use ThreadPools. Therefore, we must make a simple class that builds indexes via the IndexBuildsManager. There is no need for asynchronous threads on an embedded server, which is effectively a standalone without networking or asynchronously running threads.

      I haven't looked into whether it is possible to just make a separate class to link into embedded, or inheritance is necessary, necessitating splitting the existing IndexBuildsCoordinator into and interface and implementation. I'd guess inheritance is necessary, since commands in the standalone library are probably all included in the greater repl inclusive libraries? Shims are also a potential tool, I haven't explored that idea, either.

            Assignee:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: