ADS Load Balancing does not work as expected
Hello,
When trying to use ADS load Balancing (client connectConfig) with the following parameters :
server02*ads*discoveryNetwork : eth0;224.7.8.9|7100
server02*ads*enableConnectConfig : True
server01*ads*enableConnectConfig : True
server01*ads*discoveryNetwork : eth0;224.7.8.9|7100
server01*ads*connectConfig*.active : server01|14002,server02|14002
server02*ads*connectConfig*.active : server01|14002,server02|14002
server02*ads*disableLocalRedirect: False
server01*ads*disableLocalRedirect: False
server01*ads*logDiscoveryEvents: True
server02*ads*logDiscoveryEvents: True
*ads*connectConfig*.numStandby : 0
We use 2.6.1.L1 ADS and ADH binaries
When connecting with several RFA clients (as well as Eikon) we get the following message in the dataBody of the refresh message :
<dataBody>
<elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
<elementEntry name="ConnectionConfig" dataType="RSSL_DT_VECTOR">
<vector flags="0x3 (RSSL_VTF_HAS_SET_DEFS|RSSL_VTF_HAS_SUMMARY_DATA)" countHint="0" containerType="RSSL_DT_ELEMENT_LIST">
<elementSetDefs>
<elementSetDef setId="0">
<elementSetDefEntry name="Hostname" dataType="RSSL_DT_ASCII_STRING" />
<elementSetDefEntry name="Port" dataType="RSSL_DT_UINT" />
<elementSetDefEntry name="LoadFactor" dataType="RSSL_DT_UINT" />
<elementSetDefEntry name="ServerType" dataType="RSSL_DT_ENUM" />
<elementSetDefEntry name="SystemID" dataType="RSSL_DT_ASCII_STRING" />
</elementSetDef>
</elementSetDefs>
<summaryData>
<elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
<elementEntry name="NumStandbyServers" dataType="RSSL_DT_UINT" data="0"/>
</elementList>
</summaryData>
</vector>
</elementEntry>
</elementList>
</dataBody>
RSSL_Adapter: (Severity) Information: RSSL Channel closing on connection "Default::Connection_XTRA_RSSL server01:14002" due to "connection config decoding error"
Same if we connect to server02.
Any ideas ?
Regards,
Yannick
Answers
-
It seems that ADS did not discover each other, so there is no server information in the Login's refresh message payload.
Please verify if the value in the discoveryNetwork parameters are correct. Also, could you try to change the hostname in *ads*connectConfig*.active to actual IP address?
I cannot replicate the crash with RFA C++ 8.0 version. Which version of RFA are you using?
0 -
Among the different client we tested, we used a RFA 8 JAVA client.
The discoveryNetwork parameter looks fine, indeed we see multicast UDP packets sent in both directions.
Also when we use *ads*logDiscoveryEvents: True, we can see UDP packets sent in the logs).
A netstat -gn shows that we correctly listen on the multicast address.
We also used the IP addresses.. same result
Yannick
0 -
I have tested the above configurations with my ADS servers. After changing eth0;224.7.8.9|7100 to mdhnet;224.7.8.9|7100, the configurations work fine. I can get the list of servers in the login refresh. mdhnet is defined in the /etc/networks file. My servers are in 192.168.27 network.
/etc/networks
mdhnet 192.168.27
Login Refresh
<elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
<elementEntry name="ConnectionConfig" dataType="RSSL_DT_VECTOR">
<vector flags="0x3 (RSSL_VTF_HAS_SET_DEFS|RSSL_VTF_HAS_SUMMARY_DATA)" countHint="0" containerType="RSSL_DT_ELEMENT_LIST">
<elementSetDefs>
<elementSetDef setId="0">
<elementSetDefEntry name="Hostname" dataType="RSSL_DT_ASCII_STRING" />
<elementSetDefEntry name="Port" dataType="RSSL_DT_UINT" />
<elementSetDefEntry name="LoadFactor" dataType="RSSL_DT_UINT" />
<elementSetDefEntry name="ServerType" dataType="RSSL_DT_ENUM" />
<elementSetDefEntry name="SystemID" dataType="RSSL_DT_ASCII_STRING" />
</elementSetDef>
</elementSetDefs>
<summaryData>
<elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
<elementEntry name="NumStandbyServers" dataType="RSSL_DT_UINT" data="0"/>
</elementList>
</summaryData>
<vectorEntry index="3" action="RSSL_VTEA_SET_ENTRY" flags="0x0">
<elementList flags="0x2 (RSSL_ELF_HAS_SET_DATA)">
<elementEntry name="Hostname" dataType="RSSL_DT_ASCII_STRING" data="192.168.27.13"/>
<elementEntry name="Port" dataType="RSSL_DT_UINT" data="14002"/>
<elementEntry name="LoadFactor" dataType="RSSL_DT_UINT" data="65279"/>
<elementEntry name="ServerType" dataType="RSSL_DT_ENUM" data="0"/>
<elementEntry name="SystemID" dataType="RSSL_DT_ASCII_STRING" data="Default"/>
</elementList>
</vectorEntry>
<vectorEntry index="4" action="RSSL_VTEA_SET_ENTRY" flags="0x0">
<elementList flags="0x2 (RSSL_ELF_HAS_SET_DATA)">
<elementEntry name="Hostname" dataType="RSSL_DT_ASCII_STRING" data="192.168.27.14"/>
<elementEntry name="Port" dataType="RSSL_DT_UINT" data="14002"/>
<elementEntry name="LoadFactor" dataType="RSSL_DT_UINT" data="65279"/>
<elementEntry name="ServerType" dataType="RSSL_DT_ENUM" data="0"/>
<elementEntry name="SystemID" dataType="RSSL_DT_ASCII_STRING" data="Default"/>
</elementList>
</vectorEntry>
</vector>
</elementEntry>
</elementList>If this doesn't solve the problem, please attach the ADS log files and TREP configuration files in the response.
1 -
Hi,
Thank you for your answer, but we unfortunately can't make it work. Do you use 2.6.1.L1 binary versions ?
I replaced eth0 by mdhnet and we have the same behavior. (We tried mdhnet with both interfaces ==> TREP backbone and LAN backbone).Here the conf part :
mkdperf05.1*ads*serverId : 11777
mkdperf05.3*ads*serverId : 11888
mkdperf06.1*ads*serverId : 11666
mkdperf06*ads*discoveryNetwork : mdhnet;224.7.8.9|7100
mkdperf06*ads*enableConnectConfig : True
mkdperf05*ads*enableConnectConfig : True
mkdperf05*ads*discoveryNetwork : mdhnet;224.7.8.9|7100
mkdperf05*ads*connectConfig*.active : mkdperf05|14002,mkdperf06|14002
mkdperf06*ads*connectConfig*.active : mkdperf05|14002,mkdperf06|14002
mkdperf06*ads*disableLocalRedirect: False
mkdperf05*ads*disableLocalRedirect: False
mkdperf05*ads*logDiscoveryEvents: True
mkdperf06*ads*logDiscoveryEvents: True
*ads*connectConfig*.numStandby : 0And the log part :
...
<mkdperf05.1.ads.connectConfig.Default: Debug: Mon Jul 04 14:37:44 2016> Finish DNS callback, initialize discovery channel. <END>Nothing special more in the log (just service UP, licence things etc..)
Yannick
0 -
Hello,
Thanks for the reply. Unfortunately we cannot make it work.
W replaced ethX by mdhnet (modifying mdhnet by the LAN backbone and the TREP backone network address, both won't make it work).Do you use 2.6.1.L1 in your tests ?
Here for the conf part :
mkdperf05.1*ads*serverId : 11777
mkdperf05.3*ads*serverId : 11888
mkdperf06.1*ads*serverId : 11666
mkdperf06*ads*discoveryNetwork : mdhnet;224.7.8.9|7100
mkdperf06*ads*enableConnectConfig : True
mkdperf05*ads*enableConnectConfig : True
mkdperf05*ads*discoveryNetwork : mdhnet;224.7.8.9|7100
mkdperf05*ads*connectConfig*.active : mkdperf05|14002,mkdperf06|14002
mkdperf06*ads*connectConfig*.active : mkdperf05|14002,mkdperf06|14002
mkdperf06*ads*disableLocalRedirect: False
mkdperf05*ads*disableLocalRedirect: False
mkdperf05*ads*logDiscoveryEvents: True
mkdperf06*ads*logDiscoveryEvents: True
*ads*connectConfig*.numStandby : 0Here for the log part :
<mkdperf05.1.ads.connectConfig.Default: Debug: Mon Jul 04 14:37:44 2016> Finish DNS callback, initialize discovery channel. <END>
(Nothing special to signal in the logs. Service Up, Licence things etc..)
Yannick
0
Categories
- All Categories
- 6 AHS
- 39 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 60 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛