Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix handling of spurious wakeups in BufferManagerReadStream #41

Merged
merged 2 commits into from
Apr 1, 2019
Merged

Fix handling of spurious wakeups in BufferManagerReadStream #41

merged 2 commits into from
Apr 1, 2019

Conversation

ahubold
Copy link
Contributor

@ahubold ahubold commented Nov 27, 2018

Fixes #6

Fixes bug #6
Erroneous Timeout: IOP00410037: Timeout while reading data in buffer manager

Will adapt tests in follow-up commit

Signed-off-by: Andreas Hubold <[email protected]>
EncodingTestBase.ORBDataFake used to provide a hook for tests to run additional
code when method fragmentReadTimeout was called. This hook is used to inject
code immediately before BufferManagerReadStream starts waiting on the
fragmentQueue, for example to simulate Thread interruption.

The previous commit changed the code to call method fragmentReadTimeout at a
different time, so it cannot be used to change the actual wait in tests anymore.

Add new method ORBData#waitNanos that wraps the actual wait call and override
it in EncodingTestBase.ORBDataFake to inject the test behaviour.

Signed-off-by: Andreas Hubold <[email protected]>
@ahubold ahubold mentioned this pull request Jan 7, 2019
@ahubold
Copy link
Contributor Author

ahubold commented Jan 7, 2019

Dear maintainers, please have a look at this pull request. The bug is really annoying. Would be great to have a fix in a release.

@m0mus @vinayvishal

@ahubold
Copy link
Contributor Author

ahubold commented Apr 1, 2019

Any news on this one? Would be nice to have it in the next release.

@russgold

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants