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

ninja calls bazel unnecessarily sometimes

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None
    • Build

    Description

      In SERVER-82638, we added some integration glue which implements ninja being able to call bazel to build certain targets. This implementation has a deficiency where all possible bazel targets are defined as outputs from the bazel build, but we do not want bazel to always build all the outputs. Unfortunately ninja will always consider a node dirty if any of the outputs is missing.

      Bazel makes its own decisions about building things when called and so if it unnecessary called, it does not cause any issues, however it does slow down noop builds by a few seconds which is the overhead of starting up bazel and bazel determining there is nothing to do.

      This ticket is to investigate/implement better ways to do this, however, because the integration glue is temporary, this ticket may not be valuable, but it will exist to document the deficiency.

      Attachments

        Activity

          People

            Unassigned Unassigned
            daniel.moody@mongodb.com Daniel Moody
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: