diff --git a/checkin_notes b/checkin_notes index 1cb05fa94c..5cc567116c 100644 --- a/checkin_notes +++ b/checkin_notes @@ -5727,3 +5727,9 @@ David 16 June 2009 Makefile.am lib/ Makefile.am + +David 16 June 2009 + - python assimilator fix + + sched/ + assimilator.py diff --git a/sched/assimilator.py b/sched/assimilator.py index 8dd4b37c0e..865cdb9372 100644 --- a/sched/assimilator.py +++ b/sched/assimilator.py @@ -180,9 +180,13 @@ class Assimilator(): if result == wu.canonical_result: canonical_result=result - if canonical_result == None: - # something is wrong, flag an error + if canonical_result == None and wu.error_mask == 0: + # If no canonical result found and WU had no other errors, + # something is wrong, e.g. result records got deleted prematurely. + # This is probably unrecoverable, so mark the WU as having + # an assimilation error and keep going. wu.error_mask = boinc_db.WU_ERROR_NO_CANONICAL_RESULT + wu.commit() # assimilate handler self.assimilate_handler(wu, results, canonical_result)