diff --git a/doc/backend_state.html b/doc/backend_state.html index d67324bf84..1998346a10 100644 --- a/doc/backend_state.html +++ b/doc/backend_state.html @@ -152,7 +152,7 @@ file_delete_state READY from INIT: scheduler: got reply and server_state = OVER - timeout_check: all results are OVER + timeout_check: all results are OVER or report_deadline has passed assimilator: all results are OVER or result is not canonical from DONE: scheduler: got reply and server_state = OVER diff --git a/sched/timeout_check.C b/sched/timeout_check.C index d2fdc20316..ac99163315 100644 --- a/sched/timeout_check.C +++ b/sched/timeout_check.C @@ -171,6 +171,8 @@ void handle_wu(WORKUNIT& wu) { switch (result.server_state) { case RESULT_SERVER_STATE_IN_PROGRESS: if (result.report_deadline < now) { + // clean up any incomplete uploads + result.file_delete_state = FILE_DELETE_READY; result.server_state = RESULT_SERVER_STATE_OVER; result.outcome = RESULT_OUTCOME_NO_REPLY; db_result_update(result); diff --git a/todo b/todo index e4861f9af5..f36bcfcae3 100755 --- a/todo +++ b/todo @@ -41,6 +41,8 @@ THINGS TO TEST (preferably with test scripts) MEDIUM-PRIORITY (should do before public release) ----------------------- +decide what to do with invalid result files in upload directory + make get_local_ip_addr() work in all cases Implement FIFO mechanism in scheduler for results that can't be sent