Open / Suspect / None / 'Request timeout'

Some item can receive data normally and other item get error state[Open / Suspect / None / 'Request timeout'] when I use EMA subscribe items,but this mistake did not appear on the second day and before days.When will this happen?


image

Best Answer

  • Hello @chenjihui

    The proper RequestTimeout depends on the network and infrastructure. How long they spend the time to send, process all item requests and send all data back to your application. To know the proper timeout value, you should find out the longest time to get data. I suggest you do the following:

    1. Set RequestTimeout to be 0. EMA will wait for a response indefinitely.

    2. Turn on EMA trace log. EMA traces its received and sent messages from/to the infrastructure with the timestamp in XML format to stdout/console. To enable EMA trace log set XmlTraceToStdout in Consumer Node to be 1. For example:

    <Consumer> 
    <Name value="Consumer_1"/>

    <XmlTraceToStdout value="1"/>
    </Consumer>

    3. Run your application with redirect the output to a file to keep EMA trace log in the file.

    4. Find out which request spends the longest time from EMA trace log.

    For example, RIC TRI.N spends the longest time as shown below:

    • The item request is sent at 10:48:27:

    image

    • The data is received at 10:48:57:

    image

    The longest time is 30 seconds. Hence, you should set RequestTimeout + spare time e.g. 35 seconds or 35000 set in RequestTimeout. This is to make sure that your application will get all data instead of 'Request Timeout' error.

    Hope this help.

Answers

  • I had the same problem yesterday.,but I can receive all data after I try add config [<RequestTimeout value="120000"/>],I want to know how to set this parameter reasonably.

  • Hello @chenjihui

    Does your application use EMA C++ or Java?

  • use EMA java

  • Hello @chenjihui

    If you still get 'Request timeout' and RequestTimeout parameter is very long e.g. 300000 (5 minutes), the network and the infrastructure should be investigated. Therefore, you should contact your network team and your infrastructure team or the account team who owns the infrastructure.