tree 56852e193dc8dd97aff3aa69afeb3b75047a099a
parent 83b0da29b45da24eeaec2899306a651c41296b36
author Shac Ron <sron@google.com> 1558121370 +0000
committer CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> 1558121370 +0000

[iosched] Fix flake bugs in test.

Fix a pair of bugs that caused high degree of test flakes.
Both bugs are in the test itself, not the code being tested.

Bug 1:

WaitAcquire() could find that in_list would be empty and return,
and then the main test thread would begin the shutdown procedure.

In some instances, the ops would have been pulled in by Acquire()
but not yet filed into their respective streams by the worker
thread. Since the stream was observed to be empty, it was closed
prematurely.

The bug in WaitAcquire() was fixed by introducing a shutdown
request and acknowledgement. The acknowledgement can only happen
when a worker enters Acquire(), meaning it is not holding on
to any unfiled ops.

Bug 2:

The above bug exposed bug 2.

The Scheduler handled this correctly, properly identifying that
there is no stream for the op and releasing it with an error.
The test fixture was not as smart, since it did not expect
to get ops that were released without going through the Issue()
path. It was therefore trying to remove the op from the wrong
list, which led to disaster.

Added lifecycle tracking to the test ops to identify what
list they live on and remove appropriately.

Also:

Added thread name to workers to make debugging easier.

Reenabled test. Can no longer repro the issue.

Bug: FLK-208
Change-Id: I5be970822a703f5a91123fc9f81d148f67f02374
