-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
Only call vhost status for fully started nodes #1482
Conversation
Make it return only nodes which are fully started instead of what mnesia thinks is started. In all places we use them, we assume they should be started. [#154569776]
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.
Tests hang unless 85dcb49 is reverted. The smallest example to try: gmake ct-channel_interceptor
.
Here's one thing that definitely looks suspicious in the node log:
|
@hairyhum and I have a decent hypothesis about what's going on: a newly booting node will try to create the default vhost on all running nodes but with the new |
This reverts commit 85dcb49.
With |
Interesting. Although a stricter |
& in context of info calls such as that from the UI or CTL doing |
I think I've made a mistake when created a separate ETS tables for vhost Pid registry. It should have went to the vhost table in mnesia. It's not that mnesia is easier to manage, but at least it's consistent with itself. @michaelklishin what do you think of moving vhost Pids to mnesia? Of course we cannot do that in 3.7 anymore, but can be something for 3.8 and above. So that will be a separate PR. |
A node-local table makes sense to me. I don't have an opinion on whether it would be meaningfully easier to maintain than the ETS version. |
If a node is restarting, vhost status can throw an error because an ETS table for vhosts is not created yet.
This PR makes sure vhosts status only called for fully started nodes.