Merge pull request #13497 from ShvaykaD/hotfix/notification-rate-limits-rules

Notification rate limits rules upgrade + UI locale updates
This commit is contained in:
Viacheslav Klimov 2025-06-02 18:04:47 +03:00 committed by GitHub
commit d08fef6da5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 37 additions and 5 deletions

View File

@ -14,6 +14,8 @@
-- limitations under the License.
--
-- UPDATE TENANT PROFILE CASSANDRA RATE LIMITS START
UPDATE tenant_profile
SET profile_data = jsonb_set(
profile_data,
@ -42,3 +44,18 @@ SET profile_data = jsonb_set(
)
WHERE profile_data -> 'configuration' ? 'cassandraQueryTenantRateLimitsConfiguration';
-- UPDATE TENANT PROFILE CASSANDRA RATE LIMITS END
-- UPDATE NOTIFICATION RULE CASSANDRA RATE LIMITS START
UPDATE notification_rule
SET trigger_config = REGEXP_REPLACE(
trigger_config,
'"CASSANDRA_QUERIES"',
'"CASSANDRA_WRITE_QUERIES_CORE","CASSANDRA_READ_QUERIES_CORE","CASSANDRA_WRITE_QUERIES_RULE_ENGINE","CASSANDRA_READ_QUERIES_RULE_ENGINE","CASSANDRA_WRITE_QUERIES_MONOLITH","CASSANDRA_READ_QUERIES_MONOLITH"',
'g'
)
WHERE trigger_type = 'RATE_LIMITS'
AND trigger_config LIKE '%"CASSANDRA_QUERIES"%';
-- UPDATE NOTIFICATION RULE CASSANDRA RATE LIMITS END

View File

@ -38,11 +38,11 @@ public enum LimitedApi {
CASSANDRA_READ_QUERIES_MONOLITH(
RateLimitUtil.merge(
DefaultTenantProfileConfiguration::getCassandraReadQueryTenantCoreRateLimits,
DefaultTenantProfileConfiguration::getCassandraReadQueryTenantRuleEngineRateLimits), "Telemetry read queries", true),
DefaultTenantProfileConfiguration::getCassandraReadQueryTenantRuleEngineRateLimits), "Monolith telemetry Cassandra read queries", true),
CASSANDRA_WRITE_QUERIES_MONOLITH(
RateLimitUtil.merge(
DefaultTenantProfileConfiguration::getCassandraWriteQueryTenantCoreRateLimits,
DefaultTenantProfileConfiguration::getCassandraWriteQueryTenantRuleEngineRateLimits), "Telemetry write queries", true),
DefaultTenantProfileConfiguration::getCassandraWriteQueryTenantRuleEngineRateLimits), "Monolith telemetry Cassandra write queries", true),
EDGE_EVENTS(DefaultTenantProfileConfiguration::getEdgeEventRateLimits, "Edge events", true),
EDGE_EVENTS_PER_EDGE(DefaultTenantProfileConfiguration::getEdgeEventRateLimitsPerEdge, "Edge events per edge", false),
EDGE_UPLINK_MESSAGES(DefaultTenantProfileConfiguration::getEdgeUplinkMessagesRateLimits, "Edge uplink messages", true),

View File

@ -22,7 +22,12 @@ export enum LimitedApi {
REST_REQUESTS_PER_TENANT = 'REST_REQUESTS_PER_TENANT',
REST_REQUESTS_PER_CUSTOMER = 'REST_REQUESTS_PER_CUSTOMER',
WS_UPDATES_PER_SESSION = 'WS_UPDATES_PER_SESSION',
CASSANDRA_QUERIES = 'CASSANDRA_QUERIES',
CASSANDRA_WRITE_QUERIES_CORE = 'CASSANDRA_WRITE_QUERIES_CORE',
CASSANDRA_READ_QUERIES_CORE = 'CASSANDRA_READ_QUERIES_CORE',
CASSANDRA_WRITE_QUERIES_RULE_ENGINE = 'CASSANDRA_WRITE_QUERIES_RULE_ENGINE',
CASSANDRA_READ_QUERIES_RULE_ENGINE = 'CASSANDRA_READ_QUERIES_RULE_ENGINE',
CASSANDRA_WRITE_QUERIES_MONOLITH = 'CASSANDRA_WRITE_QUERIES_MONOLITH',
CASSANDRA_READ_QUERIES_MONOLITH = 'CASSANDRA_READ_QUERIES_MONOLITH',
TRANSPORT_MESSAGES_PER_TENANT = 'TRANSPORT_MESSAGES_PER_TENANT',
TRANSPORT_MESSAGES_PER_DEVICE = 'TRANSPORT_MESSAGES_PER_DEVICE',
TRANSPORT_MESSAGES_PER_GATEWAY = 'TRANSPORT_MESSAGES_PER_GATEWAY',
@ -42,7 +47,12 @@ export const LimitedApiTranslationMap = new Map<LimitedApi, string>(
[LimitedApi.REST_REQUESTS_PER_TENANT, 'api-limit.rest-api-requests'],
[LimitedApi.REST_REQUESTS_PER_CUSTOMER, 'api-limit.rest-api-requests-per-customer'],
[LimitedApi.WS_UPDATES_PER_SESSION, 'api-limit.ws-updates-per-session'],
[LimitedApi.CASSANDRA_QUERIES, 'api-limit.cassandra-queries'],
[LimitedApi.CASSANDRA_WRITE_QUERIES_CORE, 'api-limit.cassandra-write-queries-core'],
[LimitedApi.CASSANDRA_READ_QUERIES_CORE, 'api-limit.cassandra-read-queries-core'],
[LimitedApi.CASSANDRA_WRITE_QUERIES_RULE_ENGINE, 'api-limit.cassandra-write-queries-rule-engine'],
[LimitedApi.CASSANDRA_READ_QUERIES_RULE_ENGINE, 'api-limit.cassandra-read-queries-rule-engine'],
[LimitedApi.CASSANDRA_WRITE_QUERIES_MONOLITH, 'api-limit.cassandra-write-queries-monolith'],
[LimitedApi.CASSANDRA_READ_QUERIES_MONOLITH, 'api-limit.cassandra-read-queries-monolith'],
[LimitedApi.TRANSPORT_MESSAGES_PER_TENANT, 'api-limit.transport-messages'],
[LimitedApi.TRANSPORT_MESSAGES_PER_DEVICE, 'api-limit.transport-messages-per-device'],
[LimitedApi.TRANSPORT_MESSAGES_PER_GATEWAY, 'api-limit.transport-messages-per-gateway'],

View File

@ -924,7 +924,12 @@
"view-statistics": "View statistics"
},
"api-limit": {
"cassandra-queries": "Cassandra queries",
"cassandra-write-queries-core": "Rest API Cassandra write queries",
"cassandra-read-queries-core": "Rest API and WS telemetry Cassandra read queries",
"cassandra-write-queries-rule-engine": "Rule Engine telemetry Cassandra write queries",
"cassandra-read-queries-rule-engine": "Rule Engine telemetry Cassandra read queries",
"cassandra-write-queries-monolith": "Monolith telemetry Cassandra write queries",
"cassandra-read-queries-monolith": "Monolith telemetry Cassandra read queries",
"entity-version-creation": "Entity version creation",
"entity-version-load": "Entity version load",
"notification-requests": "Notification requests",