Discover Refinitiv
MyRefinitiv Refinitiv Perspectives Careers
Created with Sketch.
All APIs Questions & Answers  Register |  Login
Ask a question
  • Questions
  • Tags
  • Badges
  • Unanswered
Search:
  • Home /
  • TREP APIs /
  • RFA /
avatar image
Question by Lars-at-Addicticks · Jun 27, 2017 at 11:46 AM · rfa javarsslrequest pacing

RFA and request throttling

Getting warning

User is in overflow, the open is not initiated. Item: <itemname> ........

in the ADS log.

API used is RFA Java with default settings for request throttling. Connection type is RSSL.

The application is sending about 20000 requests very rapidly, so the warning isn't a huge surprise. I just thought RFA would handle it.

QUESTION: I'm wondering if I as the developer need to worry about this warning in ADS log?. Can the RFA API handle this condition 'behind-the-scenes', i.e. by backing off and sending the same request again a little later or will I as the developer need to handle this in my own code?

Also: I fully understand how RFA request throttling works with throttleType=count, which is the default. What I don't understand is this sentence in the RFA Config Guide:

Batching provides no extra value for RSSL, Batching provides no extra value for RSSL connections.

which you can find in the explanation for variable 'throttleBatchCount' in the section about RSSL connections. Despite the sentence seemingly repeating itself - which I think is just a typo - what is the meaning of that sentence?

People who like this

0 Show 0
Comment
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

4 Replies

  • Sort: 
avatar image
REFINITIV
Best Answer
Answer by umer.nalla · Jun 27, 2017 at 12:17 PM

Hi @Lars-at-Addicticks

When the maximum number of outstanding requests on the ADS from a user exceeds the OpenWindow value for a service (as reported in the Source Directory response) ,then you would expect to see that ADS log entry.

According to the ADS manual, the item is then added to the overflow queue and should be recovered later once the client has caught up.

With regards the 'Batching provides no extra value for RSSL' comment, I think this whole repeated sentence could be a typo / cut & paste error - I can only see that comment in the RFA Java Config guides.

The older RFA C++ config guides only state 'Batching provides no extra value for SSL connections' - which makes more sense as only RSSL type connections support the Batch Request feature. The RFA_Developer guide states '....The Batching capability works together with RFA’s request throttling. If throttling is enabled, RFA may split a batch request into multiple smaller requests....' in section 6.2.9 Batching Items - where it talks about batching RDM non-admin domain item requests.

Comment
jirapongse.phuriphanvichai

People who like this

1 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

avatar image
Answer by Lars-at-Addicticks · Jun 27, 2017 at 01:44 PM

Thanks Umer.

I missed the point about "the request is added to the overflow queue". So, in essence, the client application will not notice this. Very good.

Still don't understand the comment about 'Batching provides no extra value for RSSL connections' (disregarding the repeat typo) in the context of the 'throttleBatchCount' config parameter, in particular in a scenario where the ADS advertises that it doesn't support batch requests or when the application itself is not using batch requests.

Here's my understanding: The value for throttleBatchCount simply determines at what point the RFA again starts firing requests against the ADS after it has previously hit throttleMaxCount. Right? So if throttleMaxCount=200 and throttleBatchCount=10, then RFA will fire requests until it can it see that it has 200 un-answered requests. Then it will pause. It will wait until is has only 190 un-answered requests. Then it will start firing requests again .. but it will do so in individual requests (in my scenario). It is not really a batch. So the name of the config variable, throttleBatchCount, is a little bit of a misnomer. It is really more of a 'resume level'. In this light, I do not understand the comment.

Have I completely misunderstood the mechanism? (not unlikely, given the time of day :-))

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

avatar image
REFINITIV
Answer by umer.nalla · Jun 28, 2017 at 07:00 AM

Hi @Lars-at-Addicticks

I will try and get clarification from the development team.

In the meantime, my understanding is this.

Batch requests related parameters only make sense when using RSSL - as SSL connections do not support Batch request. Therefore, I think the line you quoted is a typo and should have read 'SSL connections' or really should not have been mentioned at all in the RSSL connection section.

The throttleBatchCount parameter is a dual purpose parameter - it is used to configure throttling and also used to configure the Batch facility. If you refer to section 13.2 Batch of the RFA Java v8 Dev guide, you will note it talks about throttleBatchCount in terms of Batch facility:

The Batch feature uses the throttleBatchCount configuration parameter, ... The value of throttleBatchCount defines the maximum batch items included into the batch request message that goes on the wire. When an application requests a batch and the number of items exceeds the throttleBatchCount, RFA internally will split the message in several batch request messages, with each request containing no more items then the parameter....

If you then refer to section 14.5.8 Throttling - it describes throttleBatchCount again but this time in terms of Throttling:

The throttleBatchCount configuration parameter specifies the maximum number of requests that are sent out at a time. When the throttleMaxCount is reached, then this number of responses must be received before any more requests are sent.

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

avatar image
REFINITIV
Answer by tony.louras · Jun 28, 2017 at 12:00 PM

Yes, this was a typo. As Umer explained, the intended sentence in the RFA Java Config Guide was:

Batching provides no extra value for SSL connections.

Comment
brian.sandri

People who like this

1 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

Watch this question

Add to watch list
Add to your watch list to receive emailed updates for this question. Too many emails? Change your settings >
9 People are following this question.

Related Questions

Can RFA Java application connects to services hosted on a different machine/port from a single Session?

RSSL buffer failed

IOException related to RFA internal sendPing call

RMDS Subscription Issue

Parsing OMM Payload on different thread

  • Feedback
  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Careers
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Calais
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Electronic Trading
    • Generic FIX
    • Local Bank Node API
    • Trading API
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • Refinitiv Data Platform
    • Refinitiv Data Platform Libraries
  • Rose's Space
  • Screening
    • Qual-ID API
    • Screening Deployed
    • Screening Online
    • World-Check One
    • World-Check One Zero Footprint
  • Side by Side Integration API
  • TR Knowledge Graph
  • TREP APIs
    • CAT
    • DACS Station
    • Open DACS
    • RFA
    • UPA
  • TREP Infrastructure
  • TRIT
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • World-Check Data File
  • Explore
  • Tags
  • Questions
  • Badges