hydra-queue-runner: Implement timeouts
[?]
Jun 17, 2015, 11:32 AM
HHOMBU7GGRAEXODSDY3WUHQGOSQ35OTGRNBWKKAS2D4YEIZTTNUACDependencies
- [2]
WDNUKCTNQueue monitor: Get only the fields we need - [3]
OCZ4LSGGAutomatically retry aborted builds - [4]
LJILHOJ7Create BuildSteps race-free - [5]
24BMQDZAStart of single-process hydra-queue-runner - [6]
5AIYUMTBBasic remote building - [7]
RYTQLATYKeep track of failed paths in the Hydra database - [8]
YZAI5GQUImplement a database connection pool - [9]
2IQRXLWESupport cancelling builds - [10]
GKZN4UV7Make the queue monitor more robust, and better debug output - [11]
ENXUSMSVMake concurrency more robust - [12]
6TY4LNHHFinish copyClosure - [*]
UQQ4IL55Add a error type for "unsupported system type" - [*]
C6HOMHZWDon't try to handle SIGINT - [*]
IK53RV4V - [*]
U2X3Y53Gmake sure status images always display for a list of builds - [*]
6KIJX24RGet rid of unnecessary [%- and -%] tags - [*]
T6KISLR6Fix indentation - [*]
N22GPKYT* Put info about logs / build products in the DB. - [*]
PMNWRTGJAdd multiple output support
Change contents
- replacement in src/hydra-queue-runner/build-remote.cc at line 112
const nix::Path & logDir, RemoteResult & result)const nix::Path & logDir, unsigned int maxSilentTime, unsigned int buildTimeout,RemoteResult & result) - replacement in src/hydra-queue-runner/build-remote.cc at line 156
writeInt(3600, to); // == maxSilentTime, FIXMEwriteInt(7200, to); // == buildTimeout, FIXMEwriteInt(maxSilentTime, to);writeInt(buildTimeout, to);// FIXME: send maxLogSize. - replacement in src/hydra-queue-runner/build-remote.hh at line 21
const nix::Path & logDir, RemoteResult & result);[4.5729]const nix::Path & logDir, unsigned int maxSilentTime, unsigned int buildTimeout,RemoteResult & result); - edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 46
bsTimedOut = 7, - edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 55
bssTimedOut = 7, - edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 82
unsigned int maxSilentTime, buildTimeout; - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 487
auto res = txn.parameterized("select id, project, jobset, job, drvPath from Builds where id > $1 and finished = 0 order by id")(lastBuildId).exec();auto res = txn.parameterized("select id, project, jobset, job, drvPath, maxsilent, timeout from Builds where id > $1 and finished = 0 order by id")(lastBuildId).exec(); - edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 499
build->maxSilentTime = row["maxsilent"].as<int>();build->buildTimeout = row["timeout"].as<int>();std::cerr << build->id << " " << build->buildTimeout << std::endl; - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 984
printMsg(lvlInfo, format("performing step ‘%1%’ on ‘%2%’ (needed by %3% builds)")% step->drvPath % machine->sshName % dependents.size());printMsg(lvlInfo, format("performing step ‘%1%’ on ‘%2%’ (needed by build %3% and %4% others)")% step->drvPath % machine->sshName % build->id % (dependents.size() - 1)); - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 1014
buildRemote(store, machine->sshName, machine->sshKey, step->drvPath, step->drv, logDir, result);/* FIXME: referring builds may have conflicting timeouts. */buildRemote(store, machine->sshName, machine->sshKey, step->drvPath, step->drv,logDir, build->maxSilentTime, build->buildTimeout, result); - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 1077
result.status == RemoteResult::rrPermanentFailure ? bsFailed : bsAborted;result.status == RemoteResult::rrPermanentFailure ? bsFailed :result.status == RemoteResult::rrTimedOut ? bsTimedOut :bsAborted; - replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 1081
result.status == RemoteResult::rrPermanentFailure ? bssFailed : bssAborted;result.status == RemoteResult::rrPermanentFailure ? bssFailed :result.status == RemoteResult::rrTimedOut ? bssTimedOut :bssAborted; - edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 1238
sleep(5); - edit in src/root/common.tt at line 207
[% ELSIF buildstatus == 7 %]<img src="[% c.uri_for("/static/images/warning_${size}.png") %]" alt="Timed out" class="build-status" /> - edit in src/root/common.tt at line 234
[% ELSIF buildstatus == 7 %]<span class="error">Timed out</span> - edit in src/sql/hydra.sql at line 183[21.19738][14.1015]
-- 7 = timed out