Reg Quota Assertion question.
search cancel

Reg Quota Assertion question.

book

Article ID: 260885

calendar_today

Updated On:

Products

CA API Gateway

Issue/Introduction

Reg Quota Assertion

Does the quota assertion follow 24 hour clock to reset or it calculates the initial request made (eg: if a call comes to Layer 7 at 10 AM does it reset at 10 AM next day)

Environment

Release : 9.4

Resolution

It does not reset/clear the data store in the counters table. it's a calculation on when access, the limit stored in GMT time 

To verify ssg log INFO message on the reason 

Also a FINE message on where the counter stored (SSGDB)

2023-02-14T06:01:15.471-0500 FINE    460 com.l7tech.external.assertions.throughputquota.server.ServerThroughputQuotaAssertion: ThroughputQuotaAssertion is using counter provider: ssgdb

2023-02-14T06:01:15.475-0500 INFO    460 com.l7tech.external.assertions.throughputquota.server.ServerThroughputQuotaAssertion: throughput quota limit is already reached.

How the “Apply Throughput Quote” works and where the counters/access are stored 

 

The counter is stored in SSG DB, this is checked when the assertion is used by the gateway in the cluster.  The status is based on what configured and GMT time 

 

COUNTERS Table

mysql> desc counters;

+-------------+--------------+------+-----+---------+-------+

| Field       | Type         | Null | Key | Default | Extra |

+-------------+--------------+------+-----+---------+-------+

| goid        | binary(16)   | NO   | PRI | NULL    |       |

| countername | varchar(255) | NO   | UNI | NULL    |       |

| cnt_sec     | bigint       | YES  |     | 0       |       |

| cnt_min     | bigint       | YES  |     | 0       |       |

| cnt_hr      | bigint       | YES  |     | 0       |       |

| cnt_day     | bigint       | YES  |     | 0       |       |

| cnt_mnt     | bigint       | YES  |     | 0       |       |

| last_update | bigint       | YES  |     | 0       |       |

+-------------+--------------+------+-----+---------+---

The table query example below - these are shared in all GW in the cluster 

mysql> select countername, last_update, cnt_day from  counters;

+----------------------------------------+---------------+---------+

| countername                            | last_update   | cnt_day |

+----------------------------------------+---------------+---------+

| 89c1dda9ed38461796ffd00da43cd9f5       | 1676068301452 |       1 |

| PRESET(eb1bf52f3fe3560b)10.230.109.199 | 1676068476323 |       5 |

| 10.252.146.108                         | 1676068771451 |     200 |

| PRESET(a6e7064407e50a32)10.230.109.199 | 1676371666930 |       1 |

| PRESET(93af8ec2f5d95a91)               | 1676068104521 |      85 |

| PRESET(93af8ec2f5d95a91)10.230.109.199 | 1676068690686 |     200 |

| 10.252.144.216                         | 1676068798195 |     120 |

+----------------------------------------+---------------+---------+

7 rows in set (0.00 sec)

For the highlighted request the assertions allow one request per day based on GMT time last_update.

24 hours from the below time access will be allowed again 

GMT time 1676371666930  limit will be 

Assuming that this timestamp is in milliseconds:

GMT: Tuesday, February 14, 2023 10:47:46.930 AM

Your time zone: Tuesday, February 14, 2023 5:47:46.930 AM GMT-05:00

Relative: A minute ago

Request will fail after one attempt a day