Reset "set" flag when clearing metrics and records
These values are set by the processes spawned by each node in
_runtask(), and get merged into the main manifest with clobber=False.
Therefore, we have to clear the set flag so they aren't dropped during
the merge.
@@ -3977,10 +3977,19 @@ If you are sure that your working directory is valid, try running `cd $(pwd)`.""
# we're not running with -resume, we also re-run anything
# in the steplist.
self.set('flowgraph', flow, step, index, 'status', None)
+
+ # Reset metrics and records
+ # We need to clear the 'set' flag to allow new metric values
+ # to be merged in (since we merge manifests from each node
+ # with clobber=False).
+ # TODO: should there be a more formal way to do this? Or
+ # should writing None do it implicitly?
for metric in self.getkeys('metric', 'default', 'default'):
self.set('metric', step, index, metric, None)
+ self.set('metric', step, index, metric, False, field='set')
for record in self.getkeys('record', 'default', 'default'):
self.set('record', step, index, record, None)
+ self.set('record', step, index, record, False, field='set')
elif os.path.isfile(cfg):
self.set('flowgraph', flow, step, index, 'status', TaskStatus.SUCCESS)
all_indices_failed = False
