[BUG 1st reported in email,
https://sourceforge.net/mailarchive/forum.php?thread_name=42139F80-63A7-46E9-BC9F-3CFEBE185549%40slac.stanford.edu&forum_name=epics-pvdata-devel]
[This BUG supersedes previous similar BUG 14, which was closed to be replaced by this one.
The difference is that in 14, no VPN need be running. Though that behaviour of simply
'cant connect to 2 servers on the same host if both running at the same time', seems no longer to be the case. Now that observable requires VPN also to be running, at least in the host configuration described].
Two probably related issues of pvaccess connection timeout, that go away
when VPN is not running.
OS = Mac OS 10.9 (Mavericks),
VPN = Cisco AnyConnect - with the patch for 10.9 [1]
Servers, and the client, are executing on my laptop.
The first is that if VPN is on, eget will only connect to one, not more than one,
pvaccess server.
The second is, if a pvaccess server itself has a JDBC connection, then if VPN
is running, eget can't contact even to that single server. Ie, the >1 of the first
observation goes to 0.
Note that, with VPN on, eget requests over CA (to a remote host) still work fine!
Haven't ried CA server also running on the laptop and VPN.
eget to 2 identical pvaccess RPC servers
Servers differing only in their RPCServer.registerService(service_name,...)
Say I have 2 identical java implemented services, which should respond to
"alen" and "alenka" respectively.
$ eget -s alen ... or eget -s alenka Event VPN Connect successful ------------ --- ------------------ OFF - START alen OFF eget->alen OFF yes START alenka OFF eget->alenka OFF yes eget->alen OFF yes [ok, good] TURN VPN on ON eget->alen ON yes eget->alenka ON no <- uh oh STOP alen ON eget->alenka ON yes <- so, when VPN turned on, it "blocked" alenka START alen ON eget->alenka ON yes eget->alen ON no STOP alenka ON eget->alen ON yes (!) <- You can have one, or the other, but not both. START alenka ON eget->alenka ON no eget->alen ON yes TURN VPN OFF eget->alen OFF yes eget->alenka OFF yes <- VPN OFF, all connections successful again.
Note, this isn't to do with the state transition of VPN, you can start both servers after
VPN is turned on. eget can't connect to both.
Diff: