Possible fix for racy sql testkit specs #2484
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.
As i have discovered before. XUnit in combination with the akka TestKit causes some wierd stuff sometimes.
One thing that happens is that state you expect to be reinitialized for each test is sometimes reused between tests.
Reference to where i encountered a similar case: http://stackoverflow.com/questions/40767924/testing-behavior-not-consistent-when-watching-actor-for-termination/40929659#40929659
What this PR does, is move the SqlReadJournal reference to the local scope. Thereby eliminating any chance there is concurrent access to that resource where its not expected.
The EventsByTagSpec might need more refactoring. But worked consistently locally on the SqlLite tests implementation whereas before are very racy.