Send notifications when evaluations start/finish/fail

[?]
Aug 12, 2019, 1:26 PM
2FK2SDL5LZNOWDGZUTCVCIVU7DR45FXOBJXGN4OHP2QCPWVNOD4QC

Dependencies

  • [2] 7OBWA6AZ hydra-evaluator: Fix error handling in fetching inputs
  • [3] Y7GL2OF6 Disable the build-queued hook
  • [4] 6WRGCITD Enable declarative projects.
  • [5] 5PXVIXLH Declarative projects: Include the fetch info for the declarative input in the project eval
  • [6] JQQYF4S3 Fix build-queued plugin hook
  • [7] IWHFLFVV * Randomly permute the order in which builds are added. This is
  • [8] NI5BVF2V * In job inputs of type "build", allow the project and jobset names of
  • [9] WQXF2T3D hydra-evaluator: Don't require $HYDRA_CONFIG
  • [10] OVR2RWBI hydra-evaluator: Always pick the jobset that hasn't been evaluated longest
  • [11] FDE3BJAP * Refactoring.
  • [12] RXVJFQ5A Evaluator cleanups
  • [13] NS7SND6R hydra-evaluator: Send statistics to statsd
  • [*] N22GPKYT * Put info about logs / build products in the DB.
  • [*] SS4TZXNU Distinguish between permanent evaluation errors and transient input errors
  • [*] 5SHCWE7X * Prevent repeated evaluation of a jobset with the same inputs. This
  • [*] RFE6T5LG * Store jobset evaluations in the database explicitly. This includes
  • [*] 4JE45C3C Force creation of a new uncached eval if jobs have been removed
  • [*] WVD3YYON hydra-evaluator: Add some debug code

Change contents

  • replacement in src/script/hydra-eval-jobset at line 571
    [4.112][4.112:135]()
    my ($jobset) = @_;
    [4.112]
    [4.135]
    my ($jobset, $tmpId) = @_;
  • edit in src/script/hydra-eval-jobset at line 610
    [2.185]
    [16.1110]
    $db->storage->dbh->do("notify eval_failed, ?", undef, join('\t', $tmpId));
  • edit in src/script/hydra-eval-jobset at line 626
    [16.1227]
    [17.2531]
    $db->storage->dbh->do("notify eval_cached, ?", undef, join('\t', $tmpId));
  • edit in src/script/hydra-eval-jobset at line 695
    [18.6351]
    [19.386]
    $db->storage->dbh->do("notify eval_added, ?", undef,
    join('\t', $tmpId, $ev->id));
  • edit in src/script/hydra-eval-jobset at line 775
    [4.20][3.0:115](),[3.115][4.1184:1185](),[4.132][4.1184:1185](),[4.1184][4.1184:1185]()
    #while (my ($id, $x) = each %buildMap) {
    # system("hydra-notify build-queued $id") if $x->{new};
    #}
  • edit in src/script/hydra-eval-jobset at line 792
    [4.1238]
    [4.2189]
    # Add an ID to eval_* notifications so receivers can correlate
    # them.
    my $tmpId = "${startTime}.$$";
    $db->storage->dbh->do("notify eval_started, ?", undef,
    join('\t', $tmpId, $jobset->get_column('project'), $jobset->name));
  • replacement in src/script/hydra-eval-jobset at line 800
    [4.2200][4.373:410]()
    checkJobsetWrapped($jobset);
    [4.2200]
    [4.2240]
    checkJobsetWrapped($jobset, $tmpId);
  • edit in src/script/hydra-eval-jobset at line 813
    [2.320]
    [20.1013]
    $db->storage->dbh->do("notify eval_failed, ?", undef, join('\t', $tmpId));