question

Upvotes
Accepted
7 4 0 5

EMA login timeout

Anyone know why our OmmConsumer connection is failing? Is there a limit to how many existing connections are allowed for a user? We've confirmed the correct host and username in the configuration and still get the following output when connecting...

2017-07-19 15:48:51.260 INFO [apollo-service-elektron,,,] 10408 --- [ main] c.t.ema.access.OmmConsumerImpl : loggerMsg ClientName: ChannelCallbackClient Severity: Info Text: Received ChannelUp event on channel Channel Instance Name EmaConsumer_1 Component Version ezd1.2.1.L1.win.rrg 64-bit loggerMsgEnd

2017-07-19 15:49:06.310 WARN [apollo-service-elektron,,,] 10408 --- [ main] c.t.ema.access.OmmConsumerImpl : loggerMsg ClientName: LoginCallbackClient Severity: Warning Text: RDMLogin stream state was changed to suspect with status message username <not set> usernameType <not set> State: Open/Suspect/None - text: "" loggerMsgEnd

2017-07-19 15:49:21.312 WARN [apollo-service-elektron,,,] 10408 --- [ main] c.t.ema.access.OmmConsumerImpl : loggerMsg ClientName: LoginCallbackClient Severity: Warning Text: RDMLogin stream state was changed to suspect with status message username <not set> usernameType <not set> State: Open/Suspect/None - text: "" loggerMsgEnd

2017-07-19 15:49:35.983 ERROR [apollo-service-elektron,,,] 10408 --- [ main] c.t.ema.access.OmmConsumerImpl : loggerMsg ClientName: EmaConsumer_1 Severity: Error Text: login failed (timed out after waiting 45000 milliseconds) for cowvtrezp001.ditech.us:14002) loggerMsgEnd

elektronrefinitiv-realtimeelektron-sdkema-apirrtelektron-message-api
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.

Upvotes
Accepted
32.2k 40 11 20

EZD limits the number of concurrent consumer connections, it depends on how many ILAs your site is assigned, the default is 2, so 2 concurrent connections will be supported in this case.

To know for sure, you could check with your EZD's installation user file (user_list.txt), it would usually tie your valid user to 2 valid ILAs. This file is created during EZD installation, it is not to be edited "by hand".

I believe this is not what is causing your specific issue, as the manifestation would be different you would see "mount refused" on the over the limit connection, and not "login failed".

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.

Upvotes
32.2k 40 11 20

As the infrastructure you are connecting to is Electron Connect or EZD,

the first step I would take to better understand the connection issue, would be to try connecting and subscribing with a standard test client, to the same service and item, using the same user credentials that you are using with EMA consumer.

In ezd/YOUR_OS/demo you will find rmdstestclient, and in ezd/doc folder you will find Demo Tools Guide describing demo tools.

Here is a quick example of using rmdstestclient from the command line to test:

rmdstestclient -S YOUR_SERVICE -f YOUR_ITEMS_FILE -X -v -u YOUR_ASSIGNED_USER

Once you are able to connect, subscribe and see streaming data via standard client, you will look to put in the same parameters into EMA consumer connection,

either from code, or from XMl config file, with confidence.

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.

Upvotes
7 4 0 5

We are connecting to EZD.

I will look into the rmdstestclient, but we have created a test in java to just make the connection, which is failing as well.

Note that we currently have two servers that run our application that makes a connection on startup and keeps the connection open for the life of the app. Is there possibly a limit to the number of concurrent connections for the user?

public void callElektron() throws InterruptedException {
        OmmConsumer consumer = null;
        try {
            AppClient trClient = new AppClient();
            OmmConsumerConfig config = EmaFactory.createOmmConsumerConfig();
            consumer = EmaFactory.createOmmConsumer(config.host("xxxx:xxxx").username("xxxxxx"));
	// Cannot make connection here

            ReqMsg reqMsg = EmaFactory.createReqMsg();
            consumer.registerClient(reqMsg.serviceName("xxxx").name("xxxx").interestAfterRefresh(false), trClient);
            
            while (!trClient.getDone()) {
                Thread.sleep(1000);
            }

        } finally {
            if (consumer != null) {
                consumer.uninitialize();
            }
        }
    }
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.

Upvotes
7 4 0 5

Thank you, Zoya. You confirmed my suspicion...although we'd have to verify it.

the LoginCallback seems to be mis-leading though. The resulting 'login failure' occurs when it reaches the 45 second timeout.

2017-07-19 15:48:51.260  INFO [apollo-service-elektron,,,] 10408 --- [           main] c.t.ema.access.OmmConsumerImpl           : loggerMsg
    ClientName: ChannelCallbackClient
    Severity: Info
    Text:    Received ChannelUp event on channel Channel
	Instance Name EmaConsumer_1
	Component Version ezd1.2.1.L1.win.rrg 64-bit
loggerMsgEnd

2017-07-19 15:49:06.310  WARN [apollo-service-elektron,,,] 10408 --- [           main] c.t.ema.access.OmmConsumerImpl           : loggerMsg
    ClientName: LoginCallbackClient
    Severity: Warning
    Text:    RDMLogin stream state was changed to suspect with status message
	username <not set>
	usernameType <not set>
	
	State: Open/Suspect/None - text: ""
loggerMsgEnd

2017-07-19 15:49:35.983 ERROR [apollo-service-elektron,,,] 10408 --- [           main] c.t.ema.access.OmmConsumerImpl           : loggerMsg
    ClientName: EmaConsumer_1
    Severity: Error
    Text:    login failed (timed out after waiting 45000 milliseconds) for xxxxx)
loggerMsgEnd

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.

Upvotes
24.6k 54 17 14

Hi @joe.hong, could you please give us the following information?

  1. The RSSL trace file when the problem occurs. You can enable it by setting <XmlTraceToStdout value="1"/> in the EmaConfig.xml file
  2. The EZD log file when the problem occurs

The above information will let us verify a connection between the API and EZD in detail.

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.

Upvotes
7 4 0 5

This has been resolved. We were getting above errors because by default, EZD server only allows 2 concurrent connections. Since we have two server making a persistent connection on startup, no other clients were able to connect. When we shutdown one of the apps, it works as expected.

But the error below is mis-leading. I would expect a more descriptive message, such as "Too Many Connections".

The timeout that occurs makes sense since it can't make a connection within the timeout period.

2017-07-19 15:49:06.310  WARN [apollo-service-elektron,,,] 10408 --- [           main] c.t.ema.access.OmmConsumerImpl           : loggerMsg
    ClientName: LoginCallbackClient
    Severity: Warning
    Text:    RDMLogin stream state was changed to suspect with status message
	username <not set>
	usernameType <not set>
	
	State: Open/Suspect/None - text: ""
loggerMsgEnd
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.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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