Skip to content

Commit

Permalink
Close all SkyFunction states if the evaluation is interrupted.
Browse files Browse the repository at this point in the history
Not doing this caused test_interrupted_children_waited to fail with --experimental_worker_for_repo_fetching=platform because SkyFunction states were not closed when the SkyFunction was interrupted in flight, which caused processes spawned by repository fetching not to be interrupted in turn.

Work towards #10515 .

RELNOTES: None.
PiperOrigin-RevId: 554477869
Change-Id: Ie6d2289b5bfdc7f4a73fc9dd29a40a5fa79b6269
  • Loading branch information
lberki authored and copybara-github committed Aug 7, 2023
1 parent f17b280 commit 3f4b980
Showing 1 changed file with 1 addition and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3643,9 +3643,7 @@ public void onEvaluationStarted(UnnecessaryTemporaryStateDropper dropper) {

@Override
public void onEvaluationFinished() {
// TODO(wyv): Consider calling dropper.drop() here. That would effectively cause us to
// clear the SkyKeyComputeState cache at the end of an evaluation, potentially releasing
// any hogged memory (for example, in case of an interrupted evaluation).
SkyframeExecutor.this.dropper.drop();
SkyframeExecutor.this.dropper = NULL_UNNECESSARY_TEMPORARY_STATE_DROPPER;
}
};
Expand Down

0 comments on commit 3f4b980

Please sign in to comment.