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

Best Answer

  • zoya faberov
    Answer ✓

    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".

Answers

  • 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.

  • 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();
    }
    }
    }
  • 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

  • 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.

  • 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