* Speed up findBuildDependencyInQueue by doing only one SQL query for

[?]
Aug 31, 2010, 4:19 PM
DTXTS7LNTY43YDI5FXVDEJZ75JMR4OW6WS7ZBUXXM3L242VEIIWQC

Dependencies

  • [2] PYTQMQKD Hydra/17: in queue runner, prefer builds in the queue that are a dependency of another build (with higher priority)
  • [3] OV7F5M3E Merge branch 'queue-17'
  • [4] DQD7JMSU * Fix the terminology.
  • [*] 7YBYT2LQ
  • [*] WM5WAST3 * Monitor for dead builds all the time.

Change contents

  • edit in src/script/hydra_queue_runner.pl at line 52
    [7.614]
    [6.8397]
  • replacement in src/script/hydra_queue_runner.pl at line 59
    [2.1][2.1:23]()
    my $depBuild;
    [2.1]
    [3.168]
    my $depBuild;
    my @drvs = ();
  • replacement in src/script/hydra_queue_runner.pl at line 62
    [3.200][3.200:232](),[3.232][2.24:84](),[2.84][3.295:534](),[3.295][3.295:534](),[3.534][2.85:118]()
    if($path ne $drvpath) {
    ($depBuild) = $db->resultset('Builds')->search(
    { drvpath => $path, finished => 0, busy => 0, enabled => 1, disabled => 0 },
    { join => ['schedulingInfo', 'project'], rows => 1 } ) ;
    return $depBuild if defined $depBuild;
    }
    }
    return $depBuild;
    [3.200]
    [3.565]
    push @drvs, $path if $path =~ /\.drv$/ && $path ne $drvpath;
    }
    return unless scalar @drvs > 0;
    ($depBuild) = $db->resultset('Builds')->search(
    { drvpath => [ @drvs ], finished => 0, busy => 0, enabled => 1, disabled => 0 },
    { join => ['schedulingInfo', 'project'], rows => 1 } ) ;
    return $depBuild;
  • edit in src/script/hydra_queue_runner.pl at line 73
    [6.8411]
    [3.451]
  • replacement in src/script/hydra_queue_runner.pl at line 114
    [2.186][2.186:285]()
    if(defined $depbuild) {
    $build = $depbuild;
    }
    [2.186]
    [3.644]
    $build = $depbuild if defined $depbuild;