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

resmoke reuses Logkeeper build IDs for different Evergreen tasks

    • Server Development Platform
    • Fully Compatible
    • ALL

      The buildnum for a particular builder is incremented by the keyval.inc Evergreen command. The intention here is to ensure each (builder, buildnum) combination is only ever used once.

      "get buildnumber": &get_buildnumber
        command: keyval.inc
        params:
          key: "${build_variant}_v7.0"
          destination: "builder_num"
      

      It looks like our branching process updates the branch suffix for the key to restart the counter and avoid contention on the document across branches (see also how keyval.inc is implemented). However the builder in the actual credentials file doesn't include the branch name. This means resmoke is providing Logkeeper with (builder, buildnum) combinations which have already been used before. See EVG-19870 as an example of the misleading behavior this causes in the Evergreen UI.

      cat > mci.buildlogger << END_OF_CREDS
      slavename='${slave}'
      passwd='${passwd}'
      builder='MCI_${build_variant}'
      build_num=${builder_num}
      build_phase='${task_name}_${execution}'
      END_OF_CREDS
      

      The change should be to align the 'key' for the keyval.inc command and the builder in the generated mci.buildlogger credentials file. Hopefully we can do this in such a way which doesn't introduce yet more places which need to be updated each time a new mongodb/mongo branch is released.

            Assignee:
            juan.gu@mongodb.com Juan Gu
            Reporter:
            max.hirschhorn@mongodb.com Max Hirschhorn
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: