zuul/tests/fixtures/config/remote-zuul-stream/git/org_project
James E. Blair b4e49fd8a1 Fix 10 second delay after skipped command task
The log streaming system suffers a 10 second delay after a skipped
command task because:

* when processing the results for the next task, we ensure that the
  log streams for all of the previous tasks have stopped
* when stopping a log stream, we wait for the remote command process
  to finish before we close the stream
* if a log file has not appeared yet, we can't determine if the
  stream has finished
* so we wait 10 seconds for the log to appear before we proceed and
  terminate the stream regardless.

The underlying issue is that the code that terminates the stream does
not know whether to expect a log file (the normal case) or not (the
case for a skipped task).

To correct that, we make a new Streamer class which bundles all of
the information about a particular log streamer and which is
individually addressable.  This way we can stop an individual
streamer immediately if it's corresponding task is skipped, or stop
all of the streamers with a 10 second grace period in the normal
case.

Since the behavioral difference is a 10 second delay (but otherwise
no change in job output), we can't test the behavioral outcome of
this change, but we can exercise the code by ensuring that there are
skipped command tasks in the remote stream tests.

Change-Id: Id6ee13e5a82aa8fa3a2a0dd293cf99ed5b84347a
2024-02-02 09:43:37 -08:00
..
playbooks Fix 10 second delay after skipped command task 2024-02-02 09:43:37 -08:00
roles Fix console log streaming with duplicated roles 2022-05-21 08:42:03 -07:00
README Add zuul-stream remote tests 2018-03-20 16:23:41 -07:00
zuul.yaml Add zuul-stream remote tests 2018-03-20 16:23:41 -07:00

README

test