Merge pull request #692 from knl/emit-hostname-with-influxdb-metrics
[?]
Jun 10, 2020, 8:57 AM
FIXNWFBI2YFUIFORDB7SI3M5VY5HARNJY4RRPKT6MH7TIKMMPB6ACDependencies
- [2]
FF2NJA6URemove outdated email address - [3]
4TIPQYBCRemove tabs - [4]
XCXMK24UKeep track of the number of unsupported steps - [5]
IZOT24A3Don't spam the journal with hydra-queue-runner status dumps - [6]
MJJCYVANRemove tabs - [7]
NYTT5WP3Keep track of the number of unsupported steps - [8]
MHVIT4JYSplit hydra-queue-runner.cc more - [9]
WV4SSAIYBuild against nix-master - [10]
VFFSFXJJRemove outdated email address - [11]
OG3Z3QGCNamespace cleanup - [12]
UHMUHQMUhydra: fix tarball build, add pre suffix to tarballs - [13]
N4IROACVMove buildRemote() into State - [14]
ZB3JV52WAdd a "My jobsets" tab to the dashboard - [15]
EBJP3MNABuild against nix-master - [16]
FV2M6MOThydra: use autoconf/-make - [17]
DWFTK56EKeep track of how many threads are waiting - [18]
XQ3YV2T3Don't pollute the source directory - [19]
RKW3XA4UFix potential race in dispatcher wakeup - [20]
INVXGPNKFix root creation when the root already exists but is owned by another user - [21]
HJOEIMLRRefactor - [22]
TTBLPQAJKeep track of wait time per system type - [23]
UVNTWTWGPrevent download of NARs we just uploaded - [24]
NAYQT2GThydra-queue-runner: Use cmdBuildDerivation - [25]
QNX2BXVAhydra: Improve `AC_INIT' call. - [26]
46ADBTMQStart steps in order of ascending build ID - [27]
U55WNIDPAbort unsupported build steps - [28]
BG6PEOB2Make the output size limit configurable - [29]
7LU6ECB5Don't spam the journal with hydra-queue-runner status dumps - [30]
IK2UBDAURevive jobset scheduling - [31]
EYR3EW6JKeep stats for the Hydra auto scaler - [32]
4I2HF4L3Unindent - [33]
GUW56QXGAdd evaluation error status to evaluation time on project jobset tab. - [34]
NJXD2ABJAbort unsupported build steps - [*]
IK53RV4V
Change contents
- edit in configure.ac at line 1
AC_INIT([Hydra], [m4_esyscmd([echo -n $(cat ./version)$VERSION_SUFFIX])]) - resolve order conflict in src/hydra-queue-runner/dispatcher.cc at line 304
- edit in src/hydra-queue-runner/dispatcher.cc at line 305[8.4411]→[8.4411:4435](∅→∅),[8.4430]→[8.19812:19813](∅→∅),[8.4435]→[8.19812:19813](∅→∅),[8.4651]→[8.19812:19813](∅→∅),[8.19812]→[8.19812:19813](∅→∅)
abortUnsupported(); - edit in src/hydra-queue-runner/dispatcher.cc at line 317
void State::abortUnsupported(){/* Make a copy of 'runnable' and 'machines' so we don't block themvery long. */auto runnable2 = *runnable.lock();auto machines2 = *machines.lock(); - edit in src/hydra-queue-runner/dispatcher.cc at line 318
system_time now = std::chrono::system_clock::now();auto now2 = time(0); - resolve order conflict in src/hydra-queue-runner/dispatcher.cc at line 318
- edit in src/hydra-queue-runner/dispatcher.cc at line 319
- edit in src/hydra-queue-runner/dispatcher.cc at line 332[8.1305]→[8.4724:4767](∅→∅),[8.4767]→[7.0:23](∅→∅),[7.23]→[8.1305:1306](∅→∅),[4.23]→[8.1305:1306](∅→∅),[8.4762]→[8.1305:1306](∅→∅),[8.4767]→[8.1305:1306](∅→∅),[8.1305]→[8.1305:1306](∅→∅),[8.1306]→[8.4763:5131](∅→∅),[8.5131]→[4.24:70](∅→∅),[4.70]→[8.5131:6901](∅→∅),[8.5131]→[8.5131:6901](∅→∅)
std::unordered_set<Step::ptr> aborted;size_t count = 0;for (auto & wstep : runnable2) {auto step(wstep.lock());if (!step) continue;bool supported = false;for (auto & machine : machines2) {if (machine.second->supportsStep(step)) {step->state.lock()->lastSupported = now;supported = true;break;}}if (!supported)count++;if (!supported&& std::chrono::duration_cast<std::chrono::seconds>(now - step->state.lock()->lastSupported).count() >= maxUnsupportedTime){printError("aborting unsupported build step '%s' (type '%s')",localStore->printStorePath(step->drvPath),step->systemType);aborted.insert(step);auto conn(dbPool.get());std::set<Build::ptr> dependents;std::set<Step::ptr> steps;getDependents(step, dependents, steps);/* Maybe the step got cancelled. */if (dependents.empty()) continue;/* Find the build that has this step as the top-level (ifany). */Build::ptr build;for (auto build2 : dependents) {if (build2->drvPath == step->drvPath)build = build2;}if (!build) build = *dependents.begin();bool stepFinished = false;bool quit = false;failStep(*conn, step, build->id,RemoteResult {.stepStatus = bsUnsupported,.errorMsg = fmt("unsupported system type '%s'",step->systemType),.startTime = now2,.stopTime = now2,},nullptr, stepFinished, quit);if (quit) exit(1);}}/* Clean up 'runnable'. */{auto runnable_(runnable.lock());for (auto i = runnable_->begin(); i != runnable_->end(); ) {if (aborted.count(i->lock()))i = runnable_->erase(i);else++i;}} - resolve order conflict in src/hydra-queue-runner/dispatcher.cc at line 332
- edit in src/hydra-queue-runner/dispatcher.cc at line 333
nrUnsupportedSteps = count;} - resolve order conflict in src/hydra-queue-runner/dispatcher.cc at line 333
- edit in src/hydra-queue-runner/state.hh at line 72
BuildStatus buildStatus() const - resolve order conflict in src/hydra-queue-runner/state.hh at line 72
- edit in src/hydra-queue-runner/state.hh at line 201
/* The time that we last saw a machine that supports thisstep. */system_time lastSupported = std::chrono::system_clock::now(); - edit in src/hydra-queue-runner/state.hh at line 313
/* Time in seconds before unsupported build steps are aborted. */const unsigned int maxUnsupportedTime = 0; - resolve order conflict in src/hydra-queue-runner/state.hh at line 313
- edit in src/hydra-queue-runner/state.hh at line 358
counter nrUnsupportedSteps{0}; - edit in src/hydra-queue-runner/state.hh at line 490
void failStep(Connection & conn,Step::ptr step,BuildID buildId,const RemoteResult & result,Machine::ptr machine,bool & stepFinished,bool & quit); - edit in src/hydra-queue-runner/state.hh at line 516
void abortUnsupported(); - edit in src/hydra-queue-runner/state.hh at line 546
void dumpStatus(Connection & conn); - edit in src/root/common.tt at line 591
INCLUDE renderDateTime timestamp = j.lastcheckedtime;IF j.errormsg || j.fetcherrormsg; %] <span class = 'label label-warning'>Error</span>[% END;ELSE; "-";END %]</td> - resolve order conflict in src/root/common.tt at line 591