question

Upvotes
Accepted
13 3 4 7

Why UPA will not connect

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. 
elektronrefinitiv-realtimetrepconnectionrssl
icon clock
10 |1500

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

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.

Upvotes
Accepted
11.3k 25 9 14

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.

icon clock
10 |1500

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

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.

Can you confirm the endpoint details? What port do you connect on?

I tried 14002 but there is nothing listening on that port. I have also tried where the ads port is located and am still having a a handshake error somewhere in the initializationg

Show more comments
Upvote
942 8 9 13

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.

icon clock
10 |1500

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