Don't abort steps that have an unsupported system type

[?]
Aug 17, 2015, 1:10 PM
4CQWOODYIBUEMPSLWTXZPZZTQBYYRGCORKLY4SKG2WVCVXGT654QC

Dependencies

  • [2] MHVIT4JY Split hydra-queue-runner.cc more
  • [3] IK2UBDAU Revive jobset scheduling
  • [4] ZK76B5ZZ Load the queue in order of global priority

Change contents

  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 164
    [2.25215][2.25215:25366]()
    /* If any step has an unsupported system type or has a
    previously failed output path, then fail the build right
    away. */
    [2.25215]
    [2.25366]
    /* If any step has a previously failed output path, then fail
    the build right away. */
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 167
    [2.25396][2.25396:25539]()
    for (auto & r : newSteps) {
    BuildStatus buildStatus = bsSuccess;
    BuildStepStatus buildStepStatus = bssFailed;
    [2.25396]
    [2.25539]
    for (auto & r : newSteps)
  • edit in src/hydra-queue-runner/queue-monitor.cc at line 170
    [2.25681][2.25681:26486]()
    buildStatus = step == r ? bsFailed : bsDepFailed;
    buildStepStatus = bssFailed;
    }
    if (buildStatus == bsSuccess) {
    bool supported = false;
    {
    auto machines_(machines.lock()); // FIXME: use shared_mutex
    for (auto & m : *machines_)
    if (m.second->supportsStep(r)) { supported = true; break; }
    }
    if (!supported) {
    printMsg(lvlError, format("aborting unsupported build %1%") % build->id);
    buildStatus = bsUnsupported;
    buildStepStatus = bssUnsupported;
    }
    }
    if (buildStatus != bsSuccess) {
    time_t now = time(0);
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 172
    [2.26572][2.26572:26648]()
    createBuildStep(txn, 0, build, r, "", buildStepStatus);
    [2.26572]
    [2.26648]
    createBuildStep(txn, 0, build, r, "", bssFailed);
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 174
    [2.26686][2.26686:26855]()
    ("update Builds set finished = 1, busy = 0, buildStatus = $2, startTime = $3, stopTime = $3, isCachedBuild = $4 where id = $1 and finished = 0")
    [2.26686]
    [2.26855]
    ("update Builds set finished = 1, busy = 0, buildStatus = $2, startTime = $3, stopTime = $3, isCachedBuild = 1 where id = $1 and finished = 0")
  • replacement in src/hydra-queue-runner/queue-monitor.cc at line 176
    [2.26891][2.26891:27036]()
    ((int) buildStatus)
    (now)
    (buildStatus != bsUnsupported ? 1 : 0).exec();
    [2.26891]
    [2.27036]
    ((int) (step == r ? bsFailed : bsDepFailed))
    (time(0)).exec();
  • edit in src/hydra-queue-runner/queue-monitor.cc at line 185
    [2.27241][2.27241:27251]()
    }