Reconnection for "Access Denied-already using position"

Hi Team,

1. Is there an option to retry connection for the following error?

2. Any parameter in EmaConfig.xml which I can use for "Access Denied-already using position" or to extend the time limit for exception "timed out after waiting 45000 milliseconds" ?

3. I would like to attempt the connection for max of 3 mins instead of the default 45 secs.

Thanks,

Sagar

****************************

State: Closed/Suspect/Maximum logins reached - text: "Access Denied-already using position XX.XX.XX.XX"
loggerMsgEnd


Apr 02, 2018 5:05:50 PM com.thomsonreuters.ema.access.OmmBaseImpl handleLoginReqTimeout
SEVERE: loggerMsg
ClientName: Consumer_Test_1
Severity: Error
Text: login failed (timed out after waiting 45000 milliseconds) for XXX:XXX)
loggerMsgEnd


2018-04-02 17:05:50.597 ERROR run(): Exception thrown: login failed (timed out after waiting 45000 milliseconds) for XXX:XXX)

****************************

Best Answer

  • Hello @sagar.s

    Based on our test, increase LoginRequestTimeOut does not help to solve this problem. Because the login stream has closed already as shown in your message:

    State: Closed/Suspect/Maximum logins reached - text: "Access Denied-already using position XX.XX.XX.XX"

    In this case, EMA does not retry to login to ADS anymore.

    According to my test, I set LoginRequestTimeOut to 180000 and run 3 applications logged in using the same user while DACS allows 2 concurrent logins for this user. Hence, the 3rd application got the error message above. After 1 minute, the two application exited. Hence, the number of login was 0 and the 3rd application should be able to login to ADS. However, EMA did not retry to login to ADS because the login stream closed already. Finally, the application exited according to login request timeout.

    To solve this problem, please contact your DACS administrator or Thomson Reuters Account team
    if DACS is hosted by Thomson Reuters to increase “Allowed Simultaneous
    Login” parameter in DACS to fit your usage.

    Normally, EMA will retry to login to ADS when the login's state is still open e.g. when ADS goes down, the application will get:

    Apr 04, 2018 1:13:02 PM com.thomsonreuters.ema.access.LoginCallback
    Client rdmLoginMsgCallback
    WARNING: 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

    Notice that the login stream's state is still open but it is suspect. When ADS goes up again, EMA can login to ADS successfully.

Answers

  • Hello @sagar.s

    "Access Denied- already using position" occurs when
    several applications try to login using the same user to ADS with DACS enabled.
    The number of concurrent user login exceeds “Allowed Simultaneous Login” parameter
    in DACS. To solve this error, please contact your DACS administrator
    or Thomson Reuters Account team if DACS is hosted by Thomson Reuters to
    increase “Allowed Simultaneous Login” parameter in DACS to serve your usage.

    The login timeout can be set in LoginRequestTimeOut parameter of Consumer node
    as explained in Table 3: Consumer Group Parameters (Continued) in <Elektron-SDK
    Java>\Ema\Docs\EMAJ_ConfigGuide.pdf
    shown below:

    image

    Hence, to set max 3 minutes login timeout, add
    LoginRequestTimeOut
    with value 180000 to the Consumer node your application use(default is Consumer_1) in EmaConfig.xml as
    example below:

    <Consumer>
    <Name value="Consumer_1"/>
    ...
    <LoginRequestTimeOut value="180000"/>
    </Consumer>

    I tried to set this parameter to be 180000 and EMA Java waited for login response 3 minutes as shown below:

    Apr 04, 2018 10:34:48 AM com.thomsonreuters.ema.access.OmmBaseImpl handleLoginReqTimeout
    SEVERE: loggerMsg
    ClientName: Consumer_1_1
    Severity: Error
    Text: login failed (timed out after waiting 180000 milliseconds) for localhost:14002)
    loggerMsgEnd
    login failed (timed out after waiting 180000 milliseconds) for localhost:14002)