rsslInitDefaultRDMLoginRequest fails with solarflaire onload
If I run under onload the rsslInitDefaultRDMLoginRequest(&loginRequest, 1)) fails
Error return is -1, RSSL_RET_FAILURE
The login init fails but login succeeds. So nothing critical at this point.
Can someone point me in right direction how to debug this.
Best Answer
-
Hello @nrai,
I'd like to note, that ETA libraries are not tested on SolarFlaire as part of the release process, and therefore, are not certified for it.
I would also like to note, that the complete source code and build process for Elektron SDK->ETA is available, via Elektron SDK donwload on github.
Are you building your ESDK from code?
Personally, if I was serious about running ESDK on SolarFlair in a production setting, I would pull code, and make modifications into rsslRMDLoginMsg.h ->rsslInitDefaultRDMLoginRequest method, to output some additional info as to the nature of the failure.
Then, depending on what have caused the failure, I would decide if I would be ok with the failure, or it would not be acceptable to me.
I am assuming, that running from within debugger, and break-pointing is not assessable in this setup, otherwise, that would also be a good way to find out what is causing failure.
I hope this helps, in an event of a unobvious failure, two old-fashioned, tried and true approaches remain, debugger+breakpoint or output-till-you-pinpoint
0
Answers
-
/* After this consumer successfully connects into a server (TREP), we must log in.
* Initialize a default login request (Use 1 as the Login Stream ID). */
if ((ret = rsslInitDefaultRDMLoginRequest(&loginRequest, 1)) != RSSL_RET_SUCCESS)
{
LOG_ERROR("rsslInitDefaultRDMLoginRequest() failed. ret=" << ret << " " << rsslRetCodeToString(ret));
//cleanUpAndExit(-1);
}The above code is taken from sample. It has been working well for few months.
Recently we tried to use it with solarflaire onload. So we start our exe using onload.
old way : rmds <args>
new way: onload rmds <args>
The new way throws an error at the rsslInitDefaultRDMLoginRequest
Our trep admin doesn''t see any problem, so I am guessing, init failure is innocent.
The sample code exits on such error. We commented out the exit and can work around it.
I am just curious why it returns -1 and if we can do something to avoid it.
0 -
thanks. We will try to build that and start a new thread if need any help.
0 -
I greped for the function rsslInitDefaultRDMLoginRequest in src code
Elektron-SDK/Cpp-C/Eta/Include/RDM/rtr/rsslRDMLoginMsg.h
It returns RSSL_RET_FAILURE only in one condition.
If rsslGetUserName(&pRequest->userName) != RSSL_RET_SUCCESS
Elektron-SDK/Cpp-C/Eta/Impl/Transport/rsslImpl.c
this returns error if
if(getpwuid_r(getuid(), &pwd, pwd_buffer, sizeof(pwd_buffer), &passwd) != 0)
return RSSL_RET_FAILURE;
pTempUserName = passwd->pw_name;
if (pTempUserName == NULL)
return RSSL_RET_FAILURE;so I guess I don't have to build this. I can investigate why those functions return error with solarflaire . And those are linux functions, so I should be able to write a standalone code to test it.
I'll report here what I find
0 -
there two functions work in a sample program with or without onload.
so I think I am back to building the ETA from source.0
Categories
- All Categories
- 6 AHS
- 37 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
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛