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)
I have checked the README for a slightly later release rfaj8.1.2.L1 and that was tested with Java JSE 8 Update 131 (JDK 1.8.0_131) and Java JSE 7 Update 80 (JDK 1.7.0_80).
If you are saying the issue only started occurring after the upgrade from 1.7.0_261 to 1.8.0_221 and there have been no other changes (e.g. ADS or ADH infrastructure changes) - then that could be a possibility.
Does your code pace the subscription requests? e.g. pause between every x number of instruments e.g. 1k or 5k - just to see if that helps perhaps? There is not really much to go on here - so just wondering if the issue is related to the volume of request + the number of Refreshes/updates coming in.
Can you confirm which version of RFA Java you are using? If not a recent version (8.xx), are you able to run an instance of the application built with a newer version in parallel and see if the issue occurs with the newer version?
Please see the following post with a similar issue, where the guidance was to upgrade to a more recent version - Thread lock on MessageQueue.dequeue call in rfa.jar - Forum | Refinitiv Developer Community
We are using RFA version 8.1.0.E2 and Java version 1.8.0_221. Earlier we were using Java version 1.7.0_261. This issue has started recently in last 3 - 4 weeks. This application was working fine before that. Even now it is very random and may or may not happen every time. We perform the same action of trying to resubscribe to around 50k RICS every hour every day and face this issue only 1 - 3 times a week.
Is there a possibility of issue with Java 1.8.0_221 ? We have done this Java upgrade 1 month ago.