Distinguish between permanent evaluation errors and transient input errors

[?]
Sep 25, 2013, 2:21 PM
SS4TZXNUWXSEJC3XYHGVS3IBZ2D7GPIPELODVQOHRRGYADI2L72AC

Dependencies

  • [2] NP4OLR5T Don't pass an undefined input
  • [3] GEADFVZ5 hydra-queue-runner: Improved scheduling
  • [4] AKRVETP5 Handle UTF-8 characters in eval error messages
  • [5] RXVJFQ5A Evaluator cleanups
  • [6] FGQPXZIX hydra: make nr of build to keep configurable per jobset
  • [7] X27GNHDV * Basic job info in the database.
  • [8] FDE3BJAP * Refactoring.
  • [9] 7ZHHVD6Q * Inputs of type "build" must now be declared explicitly.
  • [10] 3PNG7NIB Remove trailing whitespace
  • [11] Y6AHH4TH Remove the logfile and logSize columns from the database
  • [12] OX6NYJDV Split viewing and editing a jobset
  • [13] TFK74CQR Put job status on a separate tab
  • [14] QTC3SYBM Jobset page: Load the jobs and status tabs on demand
  • [15] 4UUKWXDF Jobset page: Show last evaluation time
  • [16] J3RYO2CU Remove the jobs status page
  • [17] SB2V735V Keep track of the database schema version
  • [18] ODNCGFQ5 * Improved the navigation bar: don't include all projects (since that
  • [19] KQS7DSKJ * Clean up indentation.
  • [20] LZVO64YG Merge in the first bits of the API work
  • [21] NLJJZVHO * Use ->update({...}) properly.
  • [22] LZO3C2KI * Hack around those SQLite timeouts: just retry the transaction.
  • [23] QTFVCDIF added hide feature for project/jobset
  • [24] PMNWRTGJ Add multiple output support
  • [25] ZI535LI6 * hydra: 'new' UI for project/jobset/job/build
  • [26] 6LETVKRA After editing a jobset, push it to the front of the evaluation queue
  • [27] FYO6NECE hydra
  • [28] GA6XIXAN * Show the input bindings in evaluation error messages.
  • [29] QLOLZHRX Allow a per-jobset check interval
  • [30] PCKLFRT5 Support push notification of repository changes
  • [31] K22TMPH5 Make the info tables less compressed
  • [32] H7CNGK4O * Log evaluation errors etc. in the DB.
  • [33] OOQ2D3KC * Refactoring: move fetchInput out of hydra_scheduler into a separate
  • [34] RFE6T5LG * Store jobset evaluations in the database explicitly. This includes
  • [35] POPU2ATH * hydra_scheduler: use eval-jobs.
  • [36] 6QRHXIM3 * Speed up the jobset index page. Especially the query to get the
  • [37] NI5BVF2V * In job inputs of type "build", allow the project and jobset names of
  • [38] JM3DPYOM generated schema with new dbix class schema loader, grrrrrr
  • [39] AK2UZDS2 Jobset page: Add a new tab to show job status in a matrix
  • [40] WQXF2T3D hydra-evaluator: Don't require $HYDRA_CONFIG
  • [41] 5SHCWE7X * Prevent repeated evaluation of a jobset with the same inputs. This
  • [*] N22GPKYT * Put info about logs / build products in the DB.
  • [*] KN3VYE5P * Cleaned up the foreign key constraints.
  • [*] D5QIOJGP * Move everything up one directory.

Change contents

  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 91
    [5.9288][5.4671:4751](),[5.4751][5.4311:4386](),[5.4311][5.4311:4386](),[5.4386][2.0:19](),[2.19][5.4408:4414](),[5.4408][5.4408:4414]()
    if (!defined $prevBuild || !isValidPath(getMainOutput($prevBuild)->path)) {
    print STDERR "input `", $name, "': no previous build available\n";
    return ();
    }
    [5.9288]
    [5.9475]
    return () if !defined $prevBuild || !isValidPath(getMainOutput($prevBuild)->path);
  • edit in src/lib/Hydra/Schema/Jobsets.pm at line 126
    [5.273]
    [5.287]
    =head2 fetcherrormsg
    data_type: 'text'
    is_nullable: 1
  • edit in src/lib/Hydra/Schema/Jobsets.pm at line 167
    [3.2025]
    [5.2524]
    "fetcherrormsg",
    { data_type => "text", is_nullable => 1 },
  • replacement in src/lib/Hydra/Schema/Jobsets.pm at line 290
    [5.3136][3.2026:2168]()
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-09-20 12:15:23
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:pD6tGW0Ob3fuA1p0uQnBWw
    [5.3136]
    [5.22627]
    # Created by DBIx::Class::Schema::Loader v0.07033 @ 2013-09-25 14:10:28
    # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:cAZ4+c7OhqGW8ATru8Foiw
  • replacement in src/root/jobset.tt at line 46
    [5.142][5.6672:6699](),[5.6672][5.6672:6699]()
    [% IF jobset.errormsg %]
    [5.142]
    [5.3578]
    [% IF jobset.errormsg || jobset.fetcherrormsg %]
  • replacement in src/root/jobset.tt at line 62
    [5.395][5.57:238]()
    [% INCLUDE renderDateTime timestamp = jobset.lastcheckedtime %], [% IF jobset.errormsg %]<em class="text-warning">with errors!</em>[% ELSE %]<em>no errors</em>[% END %]
    [5.395]
    [5.449]
    [% INCLUDE renderDateTime timestamp = jobset.lastcheckedtime %], [% IF jobset.errormsg || jobset.fetcherrormsg %]<em class="text-warning">with errors!</em>[% ELSE %]<em>no errors</em>[% END %]
  • replacement in src/root/jobset.tt at line 94
    [5.1988][5.8486:8513]()
    [% IF jobset.errormsg %]
    [5.13217]
    [5.8513]
    [% IF jobset.errormsg || jobset.fetcherrormsg %]
  • replacement in src/root/jobset.tt at line 97
    [5.795][5.795:873]()
    <pre class="alert alert-error">[% HTML.escape(jobset.errormsg) %]</pre>
    [5.795]
    [5.8783]
    <pre class="alert alert-error">[% HTML.escape(jobset.fetcherrormsg || jobset.errormsg) %]</pre>
  • replacement in src/script/hydra-evaluator at line 49
    [5.1442][5.1067:1140](),[5.3056][5.1067:1140]()
    $jobset->update({errormsg => $errorMsg, errortime => time});
    [5.1442]
    [5.3165]
    $jobset->update({ errormsg => $errorMsg, errortime => time, fetcherrormsg => undef });
  • replacement in src/script/hydra-evaluator at line 118
    [5.5432][5.1664:1712](),[5.2152][5.1664:1712]()
    fetchInputs($project, $jobset, $inputInfo);
    [5.5432]
    [5.5433]
    eval {
    fetchInputs($project, $jobset, $inputInfo);
    };
    if ($@) {
    my $msg = $@;
    print STDERR $msg;
    txn_do($db, sub {
    $jobset->update({ lastcheckedtime => time, fetcherrormsg => $msg });
    });
    return;
    }
  • replacement in src/script/hydra-evaluator at line 140
    [5.2475][5.2475:2531]()
    $jobset->update({lastcheckedtime => time});
    [5.2475]
    [5.2531]
    $jobset->update({ lastcheckedtime => time, fetcherrormsg => undef });
  • replacement in src/script/hydra-evaluator at line 266
    [4.262][4.262:318]()
    " [$bindings]:\n" . $error->{msg} . "\n\n";
    [4.262]
    [5.4988]
    ":\n" . $error->{msg} . "\n\n";
  • replacement in src/script/hydra-evaluator at line 288
    [5.2288][5.2924:2998]()
    print STDERR "error evaluating jobset ", $jobset->name, ": $msg";
    [5.2288]
    [5.1624]
    print STDERR $msg;
  • edit in src/sql/hydra.sql at line 65
    [3.7412]
    [44.5479]
    fetchErrorMsg text,
  • file addition: upgrade-22.sql (----------)
    [45.3004]
    alter table Jobsets add column fetchErrorMsg text;