42915: Per-connection outbound message rate exceeded
rate_limit_exceeded_per_connection_outboundMessages were not delivered to a connection because the rate of messages being sent to it exceeded its per-connection outbound limit. The client is notified of the gap by a channel continuity loss, which it receives as error 80020.
What you should do
What to do depends on whether your application can tolerate the gap:
- If it can, no action is needed and the error can be ignored.
- If it cannot, fetch the messages the connection did not receive from history when it encounters this error.
To stop hitting the limit, consider spreading subscriptions across more connections, so that each one receives fewer messages. If a connection genuinely needs to receive messages at a higher rate, you can request a higher limit.
Why it happens
Each connection has a maximum rate at which Ably will deliver messages to it, set by your account's limits. When more messages than that need to be sent to a connection, Ably drops the excess and signals the gap to the client. This code records that the limit was reached; the gap itself is reported to the client as 80020.
What you'll see
This code appears in your app's error statistics, recorded with HTTP status 429 and the metric connection.outboundRate. The client itself receives the continuity loss as error 80020.