-
Notifications
You must be signed in to change notification settings - Fork 18
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
Invoke blocks and do not time out if active fails and no server left #70
Comments
UPDATE: I have more details. So the call to terminateActive() do the promotion of the passive, which then triggers a call to Out code is throwing an exception in the addNode(). So Junit is recording the exception thrown by terminateActive(). Then, junit is calling tearDown(), which calling clients to close(). They send a message to management entity (which blocks because no active is there). So all happens in the same (main) thread. So in this case, the failover starts, but the passive is failing becoming active. I would be able to see the Junit exception if the tearDown wouldn't block into |
We put a workaround in our junit tearDown method. We execute all or calls through a runnable passed to this method:
|
that's good. |
branch: https://github.com/mathieucarbou/terracotta-platform/tree/issue-171
test:
HATest.failover()
Test content:
main thread is blocking in tearDown(), before closing client's connection, we send a message to the management entity (
ManagementAgentService.pushNotification
).Full thread dump
It is possible that this is a bug on our site, like #63, but I do not know if passthrough is hiding a stack trace. I do not see any stacktrace in the console at least.
The text was updated successfully, but these errors were encountered: