Skip to content

Commit

Permalink
Vine: Fix Input Missing Condition (#3514)
Browse files Browse the repository at this point in the history
* When task is returned with "input missing", don't attempt to fetch output files,
which previously resulted in a misleading "output missing" error message.

* Take same path on INPUT_MISSING and FORSAKEN.
  • Loading branch information
dthain authored Sep 22, 2023
1 parent f658c5e commit 7a44e29
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions taskvine/src/manager/vine_manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -1084,18 +1084,22 @@ static int fetch_output_from_worker(struct vine_manager *q, struct vine_worker_i
return 0;
}

// Start receiving output...
t->time_when_retrieval = timestamp_get();

/* Determine what subset of outputs to retrieve based on status. */

switch (t->result) {
case VINE_RESULT_INPUT_MISSING:
case VINE_RESULT_FORSAKEN:
reap_task_from_worker(q, w, t, VINE_TASK_RETRIEVED);
return VINE_SUCCESS;
/* If the worker didn't run the task don't bother fetching outputs. */
result = VINE_SUCCESS;
break;
case VINE_RESULT_RESOURCE_EXHAUSTION:
/* On resource exhaustion, just get the monitor files to figure out what happened. */
result = vine_manager_get_monitor_output_file(q, w, t);
break;
default:
/* Otherwise get all of the output files. */
result = vine_manager_get_output_files(q, w, t);
break;
}
Expand Down

0 comments on commit 7a44e29

Please sign in to comment.