It appears that when the pvAccess testServer (as shipped in 4.3.0 cpp) is operational it answers for RPCs channel PVs whose name it does not own. See 1 below. This was seen with any channel whose name started "test". Therefore, one can't run other servers which offer services with legitimate names because they collide with the names pvAccess testServer is publishing. See 2 below. 1. Start (only) pvAccess testServer. [greg@lcls-dev2 pvAccessCPP]$ ./runTestServer Starting pvAccess C++ test server... VERSION : pvAccess Server v3.0.4 Note that using eget, any test* channel is answered: testServer answers with value 0 to any ChannelRPC request beginning 'test*'. [greg@lcls-dev2 v4]$ eget -s test 0 [greg@lcls-dev2 v4]$ eget -s test1 0 [greg@lcls-dev2 v4]$ eget -s test1adASDA 0 [greg@lcls-dev2 v4]$ eget -s testNameItShouldNotRespondTo 0 2. Consequently, the pvAccess testServer masks all ChannelRPC channels whose name begins "test", making it impossible for any other server to also offer channels beginning "test". Reproduce: starting another server which offers a ChannelRPC channel beginning "test" [greg@lcls-dev2 testservice]$ bin/testServiceServerRunner 2013-11-19T16:29:01.779 SERVICES OF "aidatestserver" is/are initializing... 2013-11-19T16:29:01.831 SERVICE "testarchiveservice" is operational. <<---- [greg@lcls-dev2 v4]$ eget -s testarchiveservice -a entity=quad45:bdes/history -a starttime=2011-09-16T02.12.00 -a endtime=2011-09-16T15.23.17 [ChannelRequesterImpl] message(More than one channel with name 'testarchiveservice' detected, additional response from: 134.79.219.12:5075, warning)
Diff: