question

Upvotes
Accepted
3 0 0 1

Any idea what this error means?

Got the following error after subscribe.


Seems we are getting IMAGE and not updates. Request is sent with 4 path subjects eg "IDN.ANY.000761.ZK"


Using RFAJ 7.6.0.E7 with SSL/Market Feed connection



java.lang.ArrayIndexOutOfBoundsException: 442 at com.reuters.rfa.internal.connection.md.NPartSubjectHandler.getStringBuilder(NPartSubjectHandler.java:606) at com.reuters.rfa.internal.connection.md.NPartSubjectHandler.getRicName(NPartSubjectHandler.java:131) at com.reuters.rfa.internal.session.md.SubOpenReqMsg.initialize(SubOpenReqMsg.java:156) at com.reuters.rfa.internal.session.md.SubOpenReqMsg.<init>(SubOpenReqMsg.java:49) at com.reuters.rfa.internal.session.md.MarketDataSubscriberImpl.subscribe(MarketDataSubscriberImpl.java:68) at com.ml.ets.apptk.resources.rtdata.rfa.RFASource$RFAFeed.subscribeTopic(RFASource.java:396) at com.ml.ets.apptk.resources.rtdata.rfa.RFASource$RFAFeed.start(RFASource.java:370) at com.ml.ets.apptk.resources.rtdata.impl.AbstractRTFeed.activate(AbstractRTFeed.java:473) at com.ml.ets.apptk.resources.rtdata.impl.AbstractRTSource$FeedHolder.acquire(AbstractRTSource.java:66) at com.ml.ets.apptk.resources.rtdata.impl.AbstractRTSource.acquireFeed(AbstractRTSource.java:466) at com.ml.ets.apptk.resources.rtdata.impl.AbstractRTSource.acquireFeed(AbstractRTSource.java:439) at com.ml.ets.apptk.resources.rtdata.impl.AbstractRTSource.acquireFeed(AbstractRTSource.java:432) at com.ml.ets.apptk.resources.rtdata.RTDataResource.acquireFeed(RTDataResource.java:414) at com.ml.ets.apptk.resources.rtdata.taq.TAQResource.acquireFeed(TAQResource.java:587) at com.ml.ets.ice.md.RTFeedDataProvider.getFeed(RTFeedDataProvider.java:62) at com.ml.ets.ice.md.RTFeedDataProvider.init(RTFeedDataProvider.java:44) at com.ml.ets.ice.md.SFEMarketRTDataAllocator.init(SFEMarketRTDataAllocator.java:33) at com.ml.ets.ice.md.MarketDataProviderFactory.createMarketDataProvider(MarketDataProviderFactory.java:29) at com.ml.ets.ice.MLXNOrderAgent.getOrCreateOrderBook(MLXNOrderAgent.java:709) at com.ml.ets.ice.MLXNOrderAgent.addOrder(MLXNOrderAgent.java:1798)

treprfarfa-api
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
Accepted
9.5k 10 5 7

The error occurs when an application uses many threads subscribe Market Data 4-part subject names. However, this bug has been fixed since 6.5.0.L1 as shown below:

rfaj1529; MD: Array index ex with thread id 100 and subject sub

An ArrayIndexOutOfBoundsException will occur at a boundary condition

(subscribing thread with ID 100) using Market Data 4-part subject names.

This has been corrected.

SR: 1-4650845965

The development team also confirmed that there is no any RFA 7.6.0.E7 source code which can throw ArrayIndexOutOfBoundsException.

RFA should be upgraded to the latest version,7.6.1.E2, which supports SSL connection and includes this bug fix as well in order to solve the problem. I also tested RFA version 7.6.0.E7 and 7.6.1.E2 and I have never found this error.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
11.5k 16 7 10

Hello @Kung.S

I have tried to replicate the issue with RFA Java 7.6.0 E7 MDSubDemo.java. The example can subscribe 4 parts subject ("ELEKTRON_DD.ANY.000761.ZK") successfully.

mdsubdemo_app.txt

Please submit a ticket via a Contact Premium Support page with the following information:

  • How many items that the application subscribe?
  • A list of the 4 paths subjects that encounters the problem
  • Can you replicate the issue with the MDSubDemo.java?
  • The RFA trace file when the problem occurs

mdsubdemo-app.txt (6.1 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
3 0 0 1

Thank you for your reply. We found out from our side that the app is still using the old version of API, unintentionally.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Click below to post an Idea Post Idea