Details
-
Improvement
-
Resolution: Unresolved
-
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.