We are using RFA Java to subscribe to RICs. While trying to subscribe to RICs ( approximately 49k) our thread gets stuck randomly after 10k or 15k RICs and further subscription gets halted. This happens once or twice every week in our PROD environment. We retry subsciption every hour and most of the times it works fine. We are unable to figure out any specific pattern for this issue. Below is thread dump when the system gets stuck.
"Thread-7" #40 prio=5 os_prio=0 tid=0x00007f181c5ec000 nid=0xfe52 in Object.wait() [0x00007f1924ec3000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at com.reuters.rfa.internal.common.MessageQueue.dequeue(Unknown Source)
- locked <0x00000006c0a2e828> (a com.reuters.rfa.internal.common.MessageQueue)
at com.reuters.rfa.internal.common.EventQueueImpl.localDispatch(Unknown Source)
at com.reuters.rfa.internal.common.EventQueueImpl.dispatch(Unknown Source)
at com.hsbc.dmds.services.rtp.equitypriceautoupdate.reuters.AutoUpdateSubscriber.run(AutoUpdateSubscriber.java:80)
at java.lang.Thread.run(Thread.java:748)