Layer7 API Management

 View Only

 APIGW: Concurrency count of Rate Limit assertion becomes zero

MARUBUN SUPPORT's profile image
MARUBUN SUPPORT posted Jul 29, 2025 04:49 AM

Hello Team,

Do you have any answer?

Please let me know if I should create a case to ask those questions.

Thanks,

MARUBUN

Hello Team,

- Product: CA API Gateway 11.0
- System structure: 3 nodes per cluster x 1 cluster per server x 1 servers

- Usage of assertions:

  Apply Rate Limit assertion
    o Maximum requests per second: 999
    o Cluster wide: OFF
    o Spread limit over 1 sec window: ON
    o Limit each: Custom - 4 numeric characters (e.g. 9999)
    o When limit exceeded: Throttle
    o Maximum concurrent requests: Limited to 750, Cluster wide OFF

  Query Rate Limit assertion
    o Existing Counter Name: the above 4 numeric characters
    o Variable Prefix: Count

  Compare Expression assertion
    o Evaluation: ${Count.counter.concurrency} > 0
    o Data Type: Integer

- Issue:
  When those three assertions are called sequentially on a request from a client, the evaluation of Compare Expression assertion fails in very rare cases (${Count.counter.concurrency} == 0). The evaluation never fails last three years in the actual operation system.

- Qestion:

Q1. Why does the evaluation fail?
       Do you have any idea to succeed the evaluation always in the sequencial call?
       Does the following timing control property cause that failure?
       -  ratelimit.clusterStatusInterval: a node is considered “up” if it has posted its status within the past 8 seconds
       - ratelimit.clusterPollInterval cluster property: Apply Rate Limit Assertion checks the status of cluster nodes every 43 seconds

Q2. Is any wrong usage for those assertions?
       For example, 'Limit each/Custom' and 'Existing Counter Name' fields.

Regards,
MARUBUN