Ensure execution graph cancellation only happens once per job

Review Request #2910 - Created Sept. 30, 2015 and submitted

Information
Nick Howard (Twitter)
pants
2290
b249885...
Reviewers
pants-reviews
jsirois, mateor, patricklaw, stuhood
Before, the execution graph wouldn't check to see if a job had already been canceled before canceling it. This meant that even if that job was a dependee of another canceled or failed job, it would still end up in the queue. The result is that the queue could grow to be very large with deep graphs, containing mostly duplicate cancelations.

This patch changes the cancellation handling so that the status table is checked for each dependee before canceling it. It also marks them as queued so that the status table knows that they are in progress.

Wrote a regression test, made it pass. CI away on the PR.

Nick Howard (Twitter)
Mateo Rodriguez
Nick Howard (Twitter)
Review request changed

Status: Closed (submitted)

Change Summary:

https://github.com/pantsbuild/pants/commit/a9c6ac44efda87c60f0b6ff8157157f355edfa9f

Nick Howard (Twitter)

Thanks, Mateo. Submitted at https://github.com/pantsbuild/pants/commit/a9c6ac44efda87c60f0b6ff8157157f355edfa9f

Loading...