Skip to content

Commit e2b8617

Browse files
committed
this is an attempt to bugfix 3235 - after moving more status stuff into the block provider executor, then perhaps its easier to do local reasoning here about which info the job status poller actually wants?
specifically, what's different about FAILED vs PENDING artificial statuses? FAILED is persistent beyond the update from the underlying provider PENDING should be replaced by an update from the underlying provider - including, perhaps incorrectly, being entirely deleted and that's probably the fundamental problem i have so far with unifying these tables - the different update semantics above to bugfix this, in addition to seeing the poller deferred status, we also need to see the simulated status changes live (rather than cache-deferred) no one else is using simulated status and now job status poller is allowed to touch the internal structs, so perform the simulated status update elsewhere broken behaviour is that other callers (if they exist?) of executor.status no longer see any simulated status at all this behaviour changes when htex gets to apply the MISSING rewrite to only include jobs reported by the provider, not jobs added by simulated status. that's actually possibly desirable, because simulated status might contain more useful information that shouldn't be overwritten by MISSING?
1 parent 0cfd122 commit e2b8617

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

parsl/executors/status_handling.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@ def _old_status_impl(self) -> Dict[str, JobStatus]:
124124
status = self._make_status_dict(block_ids, self._provider.status(job_ids))
125125
else:
126126
status = {}
127-
status.update(self._simulated_status)
128127

129128
return status
130129

@@ -133,6 +132,7 @@ def status(self) -> Dict[str, JobStatus]:
133132
if self._should_poll(now):
134133
self._poller_mutable_status = self._old_status_impl()
135134
self._last_poll_time = now
135+
self._poller_mutable_status.update(self._simulated_status)
136136
return self._poller_mutable_status
137137

138138
def set_bad_state_and_fail_all(self, exception: Exception):

0 commit comments

Comments
 (0)