-
Notifications
You must be signed in to change notification settings - Fork 15
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
refactor(engine): use hasProcessingReachedTheEnd to detect state #257
Conversation
660dfa7
to
b1621a4
Compare
Disable EngineStateMonitor test temporarily. The test has to be rewritten
With the previous logic, idle state callbacks were called immediately. On local machine I did not find any flaky tests, but on CI pipeline there was one. The new logic waits a bit before notifying the idle state callbacks
cf345b8
to
9eba709
Compare
@pihme I finally found the cause of the testcontainer getting killed. I still don't know why it happens, but could you have a look at the latest commit and see what you think? |
@remcowesterhoud Seems ok. I wonder whether we can improve it to something like this:
I would assume that a closed actor is equivalent to an idle state. This way we wouldn't stall callers when the actor is closed |
Exceptions thrown in the TimerTask seem to terminate our testcontainer. Since checking if processing has reached the end occasionally throws ExecutionExceptions because the actor was already closed the testcontainer would terminate all the time, failing all other testcases. Catching this exception seems to have fixed the issue.
9eba709
to
824c909
Compare
@korthout This one might be slightly complex to review, but as Peter and I both worked on it I think it'd be good if someone else reviews it. |
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.
@pihme / @remcowesterhoud LGTM 🚀
Description
Use
hasProcessingReachedTheEnd
to detect stateRelated issues
closes #133
Definition of Done
Not all items need to be done depending on the issue and the pull request.
Code changes:
Testing:
Documentation: