42925: Account-wide integration invocation rate exceeded
rate_limit_exceeded_account_integrationsAn integration invocation was dropped because the invocation rate across the account exceeded the configured account-wide limit. A proportion of invocations are dropped to bring the account back within its limit.
What you should do
There is nothing to retry from your application: the messages that trigger your integrations are published as normal, but a proportion of the invocations they would cause are dropped while the account is over its limit.
This limit counts every integration invocation across your whole account. A high rate often comes from an integration whose channel filter matches a large number of channels, so its invocations add up across all of them. If your application does not need a filter that broad, narrowing it reduces how often the integration is invoked. The filter is configured on the integration itself, for both webhooks and streaming integrations. If your account legitimately needs a higher rate, you can request a higher limit.
Why it happens
Your account has a maximum total rate at which integrations can be invoked across all of its apps, set by your account's limits. This covers all of your integrations together, such as webhooks, serverless functions, and message queues. When the account exceeds the limit, Ably drops a proportion of invocations to bring it back within the limit. The messages that triggered them are published as normal.
What you'll see
The triggering messages are published normally; only the integration invocations are affected. The error is reported with code 42925 and HTTP status 429, with a message of the form Maximum account-wide instantaneous reactor.webhook rate exceeded; permitted rate = ...; metric = reactor.webhook.maxRate. The metric names the integration type, and "reactor" is the internal term for integrations.