deflake SubscriberImplTest, maybe #1495
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit tries to deflake failures reported in https://ci.appveyor.com/project/garrettjonesgoogle/google-cloud-java/build/57 .
The failure seems to come from
FakeSubscriberServiceImpl::sendError
. When callinggetAndAdvanceCurrentStream
, we waited for there to be a subscription by waiting on thesubscriptionInitialized
variable.The variable is notified before
addOpenedStream
is called though, and so it's possible thatgetAndAdvanceCurrentStream
will see a list without any opened stream. The fix is to wait for at least one stream to be registered first.@davidtorres Another option seems to be moving
addOpenedStream
into the synchronized block. I'm not sure which is the better option.