Concurrent Ratelimit policy StrictOnTtl implementation

@Anil Sagar @ Google

We had a test on concurrent rate limit with StrictOnTtl set to "true". What I noticed was if the backend response is less than ttl value it does not clean the counter but waits for ttl time to clear counters.

I was actually expecting StrictOnTtl to only clear counter in cases where backend does not respond with in ttl time.

e.g. count = 1 and ttl=20 was set. Backend was set to respond in 5secs.

Expected Result: Service should allow atleast 4 transactions in 20secs.

Actual Result : Service processed only 1 transaction until 20secs and received next after ttl was reached and counter reset.

I had to set StrictOnTtl to false to enable more transaction as and when thread was complete.

Is that the expected behaviour ?

0 1 183
1 REPLY 1

ElangoD
Participant III

Hi,

When StrictOnTtl set to "true". Strict condition on Counter only to decrement after TTL time period

Even though Response comes in 5sec, still it doesn't allow the request to reach the target server.

after 20<TTL value> it will decrement the counter and allow another connection.

its expected behavior.

In your Case, it will allow only 1 connection for every 20sec( Even though response receive early)