-
Notifications
You must be signed in to change notification settings - Fork 92
Description
So while experimenting with multi-dc setup on mac I discovered the following problems:
-
Antidote picks all
inetinterfaces on the machine (including address for specialutuninterfaces, which correspond to vpn virtual interfaces on mac) when trying to obtain the addresses viainter_dc_pub:getting_addresses/1. Which leads to zeromq connection timeout when trying to connect to port on such an address frominter_dc_sub:add_dc. -
Second problem is that both timeouts for
gen_server:callininter_dc_sub:add_dcand zeromq connection timeouts are set to 5 seconds. So even though there is another address to try to connect to, theinter_dc_subwill just fail on the first faulty one. Retry logic ininter_dc_manager:connect_nodeson 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.