-
Notifications
You must be signed in to change notification settings - Fork 1k
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
attempting to fix racy Akka.Persistence.TestKit.Tests #7068
Open
Aaronontheweb
wants to merge
34
commits into
akkadotnet:dev
Choose a base branch
from
Aaronontheweb:fix-AkkaPersistenceTestKitTests
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+492
−297
Open
Changes from 4 commits
Commits
Show all changes
34 commits
Select commit
Hold shift + click to select a range
adab09d
attempting to fix racy Akka.Persistence.TestKit.Tests
Aaronontheweb e1e3c02
Merge branch 'dev' into fix-AkkaPersistenceTestKitTests
Aaronontheweb 185d5ad
added debug log
Aaronontheweb 272b962
looking into some suspicious `await` calls inside the `AsyncWriteJour…
Aaronontheweb fa5bd37
Merge branch 'dev' into fix-AkkaPersistenceTestKitTests
Aaronontheweb 7b8b538
minor code clean up
Aaronontheweb ef8fd68
`MemoryJournal` cleanup
Aaronontheweb caf93d7
added more robust external error logging
Aaronontheweb 30897ff
disable sync thread dispatcher
Aaronontheweb fbb0980
Revert "disable sync thread dispatcher"
Aaronontheweb 0178cd3
added debugging capabilities to `TestJournal`
Aaronontheweb 7206cca
added debug logging to `CounterActor` specs
Aaronontheweb daf2c8c
added debug logging to `Bug4762FixSpec`
Aaronontheweb 26108a7
added debug logging to `TestSnapshotStore`
Aaronontheweb 852375f
attempting to fix some continuation mess inside the snapshot store
Aaronontheweb 0de3cc9
fixed final cases
Aaronontheweb ef22f50
formatting
Aaronontheweb a33110a
fixed snapshot saving errors
Aaronontheweb b8a7245
enable DEBUG logging
Aaronontheweb 4af443a
more debug logging
Aaronontheweb 190e972
Merge branch 'dev' into fix-AkkaPersistenceTestKitTests
Aaronontheweb 663a88d
more debug logging
Aaronontheweb 8192cc8
Merge branch 'dev' into fix-AkkaPersistenceTestKitTests
Arkatufus a221b7e
Clean-up and modernize ReplayFilter
Arkatufus f963565
Fix configuration, make sure that default values are sensible
Arkatufus 7788e72
Fix journal interceptor, make sure that Ask operation are short enoug…
Arkatufus aeb68c8
Turn on relpay filter debug mode
Arkatufus c777bc6
Merge branch 'fix-AkkaPersistenceTestKitTests' of github.com:Aaronont…
Arkatufus afc24df
Bump timeout, testing if recovery is delayed or permanently stuck
Arkatufus 8f84ff5
Fix AsyncWriteJournal replay handler not closing over self
Arkatufus 68e2192
Fix SnapshotStore snapshot load not closing over self
Arkatufus a7da6a6
Merge branch 'dev' into fix-AkkaPersistenceTestKitTests
Arkatufus 55349bf
Merge branch 'dev' into fix-AkkaPersistenceTestKitTests
Arkatufus 8050937
Merge branch 'dev' into fix-AkkaPersistenceTestKitTests
Aaronontheweb File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wondering if there's some issues with the Akka.Persistence
Journal
capturing context here, since these tasks run as detatched. I doubt it's the issue but it's one of the things that stood out to me here.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The task isn't detached though, its actually awaited inside the circuit breaker, except when the circuit breaker is open, in which it just throws an open circuit exception.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's true - we have some other racy
CircuitBreaker
specs too (independently from any Akka.Persistence plugin) - wonder if that's the common issue?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Its not the CircuitBreaker, the giant lag on recovery is between
PreStart
and when theLoadSnapshot
message was received by the snapshot store actor:There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This makes me think that the bug is actually in the
RecoveryPermitter
class