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

Simplify local concurrency control for Scons and Ninja

    • Type: Icon: Improvement Improvement
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Build
    • Labels:
      None
    • Server Development Platform

      The current setup relies (incompletely) on icerun at the SCons level, but the Ninja level also has a local_pool. Sizing the local pool is non-obviously tied to the SCons concurrency level set at Ninja generation time. But application of the local_pool isn't automatic. The situation is muddled, and we should come up with something better that:

      • Works right both with plain SCons and with the generated Ninja
      • Doesn't statically interpolate SCons concurrency guarantees into the generated Ninja file.
      • Ensures consistent application of icerun in the SCons layer in a way that is reflected in the Ninja layer.
      • Would provide an API that allowed partitioning jobs into local/remote in such a way that the build could still be made reasonable even in the absence of a tool like icerun.

            Assignee:
            backlog-server-devplatform [DO NOT ASSIGN] Backlog - Server Development Platform Team (SDP) (Inactive)
            Reporter:
            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: