bionic
bionic copied to clipboard
Introduce artifact descriptors
trafficstars
This PR refactors refactors our task structure to make saving and loading into separate tasks. There should be no behavior changes (except for some slight changes in logging).
There are three commits (see their messages for more details):
- Moving a few methods around to make the next steps easier.
- Defining a new type of descriptor.
- Changing Bionic's internals to use the new descriptor.
There are two failing tests here. I think one of them (test_parallel_fail) may be a flake that we've seen elsewhere. The other one (test_flow_handles_delete_gracefully[parallel]) looks like a real bug. I think my changes have invalidated some of the assumptions in our persistent cache flushing logic in _get_or_create_entry_for_state, and this PR might require some more work.