I am trying to connect a UPA Consumer to a specific endpoint and when I run the connection and initialization I am getting the following: Error RSSL_RET_FAILURE (-1) (errno: 104) encountered with rsslInitChannel fd= 7. Error Text: <Impl/ripcsrvr.c:5912> Error: 1002 Could not read IPC Mount Ack. Connection attempt has failed. System errno: (104) Then endpoint is currently able to run and get data with an RFA. So would there be an issue with the configuration of the endpoint to allow for OMM to communication with port trying to be used.
Hi @manning0218,
I have a few questions about your setup.
1. I noticed you included an "Elektron connect" tag within your post. Are you connecting through Elektron Connect? Can you provide a little more detail about your setup?
2. Is this your application, or an example application? If it is not an example application, is it possible for you to try Tutorial 2 - Establishing a connection to a Provider within the developer portal?
thanks.
Hi @manning0218
Could you share the connection configurations (hostname, port) you are using and what is the endpoint you tried to connect to?
RFA supports two interfaces: MarketData interface (SSL connection) and OMM interface (RSSL connection). It is possible that your RFA application is using the MarketData interface connecting to endpoint via SSL connection. Using UPA application connects to legacy SSL port (i.e. 8101) of the server could generate this error as UPA doesn't receive correct connection response. If the endpoint is TREP or Elektron component which supports both interfaces, you can change the port used by UPA to a RSSL port such as 14002.
I do not have access to the setup and am just given the enpoint to use, which does work with our previous applications and should work with this. As for the application I am trying to connect, it is part of the Training application for UPA. It is passing the initial connection for rsslConnect(). It is after a few iterations when the channel is trying to switch from RSSL_CH_STATE_INITIALIZING to RSSL_CH_STATE_ACTIVE.
Hi @manning0218,
As Veerapath explained above, it is possible that your RFA application works because it uses an SSL connection (port 8101) while your UPA application doesn’t work because it tries to connect via an RSSL connection (port 14002). Normally both should work because; by default ADS TREP components listen to these two ports (8101 for SSL connections and 14002 for RSSL connections). However, your TREP infrastructure may have been configured otherwise.
Could you please ask your TREP administrator if it is the case? That would explain your issue.
Also to help us to better understand the context, on the machine where you run your RFA application (the one that works), could you please execute the 2 following commands while the RFA application (only this one) is running and connected to the ADS?
netstat -na | find "8101" netstat -na | find "14002"
This will tell us what type of connection your RFA application is using. Here is an example:
C:\>netstat -an | find "8101" C:\>netstat -an | find "14002" TCP 10.2.36.124:50228 10.2.43.49:14002 ESTABLISHED
In this example you can see that there is no application using port 8101 and one using port 14002. This tells us that this application is connected via RSSL.