Skip to content
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

Problems with inter_dc when the first address in the list leads to connection timeout. #470

Open
define-null opened this issue May 4, 2022 · 0 comments

Comments

@define-null
Copy link
Contributor

So while experimenting with multi-dc setup on mac I discovered the following problems:

  1. Antidote picks all inet interfaces on the machine (including address for special utun interfaces, which correspond to vpn virtual interfaces on mac) when trying to obtain the addresses via inter_dc_pub:getting_addresses/1. Which leads to zeromq connection timeout when trying to connect to port on such an address from inter_dc_sub:add_dc.

  2. Second problem is that both timeouts for gen_server:call in inter_dc_sub:add_dc and zeromq connection timeouts are set to 5 seconds. So even though there is another address to try to connect to, the inter_dc_sub will just fail on the first faulty one. Retry logic in inter_dc_manager:connect_nodes on the other hand would not determine the reason for the failure and would just retry for the same node, with same address list, where first faulty address would be picked again, leading to the same failure.

First issue should be easily fixed by providing possibility to set the addresses antidote should listen on. The second though should result in more accurate decision how to handle reconnects.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant