Condor: fix bug when 2 input files have same contents; fix error messages

This commit is contained in:
David Anderson 2013-08-09 16:06:36 -07:00
parent 74a8a8cad7
commit 1c31f6feaa
4 changed files with 16 additions and 6 deletions

View File

@ -53,7 +53,7 @@ function xml_error($num, $msg=null) {
case -208: $msg = "Account creation is disabled"; break;
case -209: $msg = "Invalid invitation code"; break;
case -210: $msg = "Invalid request method"; break;
default: "Unknown error"; break;
default: $msg = "Unknown error"; break;
}
}
echo "<error>

View File

@ -86,9 +86,13 @@ function query_files($r) {
$batch_id = (int)$r->batch_id;
$fanout = parse_config(get_config(), "<uldl_dir_fanout>");
$i = 0;
$md5s= array();
foreach($r->md5 as $f) {
$md5 = (string)$f;
echo "processing $md5\n";
$md5s[] = $md5;
}
$md5s = array_unique($md5s);
foreach($md5s as $md5) {
$fname = job_file_name($md5);
$path = dir_hier_path($fname, "../../download", $fanout);
@ -100,7 +104,7 @@ function query_files($r) {
if ($job_file && $job_file->delete_time < $delete_time) {
$retval = $job_file::update("delete_time=$delete_time");
if ($retval) {
xml_error(-1, "job_file::update() failed: "+mysql_error());
xml_error(-1, "job_file::update() failed: ".mysql_error());
}
}
if (file_exists($path)) {
@ -121,7 +125,7 @@ function query_files($r) {
);
if (!$ret) {
xml_error(-1,
"BoincBatchFileAssoc::insert() failed: "+mysql_error()
"BoincBatchFileAssoc::insert() failed: ".mysql_error()
);
}
}
@ -162,7 +166,7 @@ function upload_files($r) {
"(md5, create_time, delete_time) values ('$md5', $now, $delete_time)"
);
if (!$jf_id) {
xml_error(-1, "BoincJobFile::insert($md5) failed: "+mysql_error());
xml_error(-1, "BoincJobFile::insert($md5) failed: ".mysql_error());
}
if ($batch_id) {
BoincBatchFileAssoc::insert(

View File

@ -15,7 +15,7 @@ $batch_name = "batch_$t";
$job_name_1 = "job1_$t";
$job_name_2 = "job2_$t";
echo "
BOINC_SUBMIT 1 $batch_name uppercase 2 $job_name_1 0 1 in1 in $job_name_2 0 1 in2 in 1
BOINC_SUBMIT 1 $batch_name uppercase 2 $job_name_1 0 1 /mydisks/b/users/boincadm/a/in in $job_name_2 0 1 /mydisks/b/users/boincadm/b/in in 1
BOINC_QUERY_BATCHES 2 1 $batch_name
BOINC_ABORT_JOBS 6 $job_name_1 $job_name_2
BOINC_FETCH_OUTPUT 3 $job_name_1 . stderr_out1 ALL 1 out out1

View File

@ -149,6 +149,12 @@ static void restore_others(int rt) {
void send_work_score_type(int rt) {
vector<JOB> jobs;
if (config.debug_send) {
log_messages.printf(MSG_NORMAL,
"[send] scanning for %s jobs\n", proc_type_name(rt)
);
}
clear_others(rt);
int nscan = config.mm_max_slots;