-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added separated rate limits for gateway #10525
Added separated rate limits for gateway #10525
Conversation
… into improvement/gateway-rate-limits
WHEN trigger_config::jsonb->'apis' ? 'TRANSPORT_MESSAGES_PER_GATEWAY' THEN trigger_config | ||
ELSE jsonb_set(trigger_config::jsonb, '{apis}', (trigger_config::jsonb->'apis') || '"TRANSPORT_MESSAGES_PER_GATEWAY"', false)::text |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please check how does notification look like (with default notification rule) when per-gateway rate limits are exceeded
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Like regular rate limits exceeded notification, just with different content - "transport messages per gateway" instead of "transport messages per device"
<dependency> | ||
<groupId>org.thingsboard</groupId> | ||
<artifactId>application</artifactId> | ||
<version>${project.version}</version> | ||
<scope>test</scope> | ||
</dependency> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because without this dependency we have no access for necessary entities like EntityDataUpdate, UnreadNotificationsUpdate, AlarmCountUpdate etc. I think it will be better to have this dependency instead of having two similar entities in different places.
@@ -134,3 +134,33 @@ DELETE FROM asset WHERE type='TbServiceQueue'; | |||
DELETE FROM asset_profile WHERE name ='TbServiceQueue'; | |||
|
|||
-- QUEUE STATS UPDATE END | |||
-- TENANT PROFILE UPDATE START | |||
|
|||
UPDATE tenant_profile tp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please rewrite this to 3 separate statements (one per configuration item, e.g. transportDeviceMsgRateLimit ) and also check that the field you are using is set. For example, that the transportDeviceMsgRateLimit is set.
|
@@ -25,5 +25,8 @@ public class EntityTransportRateLimits { | |||
private TransportRateLimit regularMsgRateLimit; | |||
private TransportRateLimit telemetryMsgRateLimit; | |||
private TransportRateLimit telemetryDataPointsRateLimit; | |||
private TransportRateLimit gatewayMsgRateLimit; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is completely redundant.
Pull Request description
PE PR - https://github.com/thingsboard/thingsboard-pe/pull/2497
Such as a gateway can send some necessary logs and it may trigger rate limits, we need to have a different rate limit for gateway devices.
In this PR I have added separated rate limits, for gateway devices, they can be configured in tenant profile configuration and they affects only devices that marked as a gateway.
General checklist
Front-End feature checklist
Back-End feature checklist