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

ninja tool could fail to detect compiler changes

    • Type: Icon: Improvement Improvement
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Server Development Platform
    • Dev Platform 2021-09-06, Dev Platform 2021-09-20, Dev Platform 2021-10-04, Dev Platform 2021-10-18, Dev Platform 2022-01-10, Dev Platform 2022-01-24, Dev Platform 2022-02-07, Dev Platform 2022-03-07, Dev Platform 2022-03-21

      In SERVER-56003, Mathias discussed the issue with using mtimes for checking if the compiler has changed. There are cases where the compiler could change, and the mtime still not be newer, which is what ninja checks for when rebuilding.

      Not just for compilers but any tool, or in ninja tool terms, providers, which are generally binaries not part of the source tree which are used to build nodes, for example, compilers.

      A solution to this would be to hash to providers and depend on a file containing the hash, only updating the file if the hash has changed. Then via ninja's restat we can decide for sure if things should be rebuilt not just from the mtime.

            Assignee:
            backlog-server-devplatform [DO NOT ASSIGN] Backlog - Server Development Platform Team (SDP) (Inactive)
            Reporter:
            daniel.moody@mongodb.com Daniel Moody
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: