Discover Refinitiv
MyRefinitiv Refinitiv Perspectives Careers
Created with Sketch.
All APIs Questions & Answers  Register |  Login
Ask a question
  • Questions
  • Tags
  • Badges
  • Unanswered
Search:
  • Home /
  • TREP APIs /
  • RFA /
avatar image
Question by yannick.lambruschi-ext · Jul 01, 2016 at 02:36 AM · treprfarfa-apiload

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>

As you can see there no server information, which make our RFA clients crash with the following error :

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


People who like this

0 Show 0
Comment
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

4 Replies

  • Sort: 
avatar image
REFINITIV
Answer by veerapath.rungruengrayubkul · Jul 01, 2016 at 03:50 AM

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?

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

avatar image
Answer by yannick.lambruschi-ext · Jul 01, 2016 at 04:05 AM

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

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

avatar image
REFINITIV
Answer by Jirapongse · Jul 04, 2016 at 05:28 AM

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.

Comment
yannick.lambruschi-ext

People who like this

1 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

avatar image
Answer by yannick.lambruschi-ext · Jul 04, 2016 at 08:44 AM

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 : 0

And 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

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Watch this question

Add to watch list
Add to your watch list to receive emailed updates for this question. Too many emails? Change your settings >
7 People are following this question.

Related Questions

RFA EU composite volume

How to check the status of service from which I am subscribing the update programmatically?

Does horizontal scaling for RFA 8 provide failover as well ?

How to confirm the OMMMsg belongs to which CURRENCY?

RFA VS2017 and Windows Server 2016 support

  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Electronic Trading
    • Generic FIX
    • Local Bank Node API
    • Trading API
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • Intelligent Tagging
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open Calais
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • RDMS
  • Refinitiv Data Platform
    • Refinitiv Data Platform Libraries
  • Rose's Space
  • Screening
    • Qual-ID API
    • Screening Deployed
    • Screening Online
    • World-Check One
    • World-Check One Zero Footprint
  • Side by Side Integration API
  • TR Knowledge Graph
  • TREP APIs
    • CAT
    • DACS Station
    • Open DACS
    • RFA
    • UPA
  • TREP Infrastructure
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • Workspace SDK
    • Element Framework
    • Grid
  • World-Check Data File
  • 中文论坛
  • Explore
  • Tags
  • Questions
  • Badges