content/influxdb3/cloud-serverless/admin/billing/limits.md
InfluxDB Cloud Serverless applies (non-adjustable) global system limits and adjustable service quotas on a per organization basis.
[!Warning] All rates (data-in (writes), and queries (reads)) are accrued within a fixed five-minute window. Once a rate is exceeded, an error response is returned until the current five-minute window resets.
Review adjustable service quotas and global limits to plan for your bandwidth needs:
To reduce the chance of unexpected charges and protect the service for all users, InfluxDB Cloud Serverless has adjustable service quotas applied per account.
The InfluxDB 3 storage engine enforces limits on the storage level that apply to all accounts (Free Plan and Usage-Based Plan).
The v3 storage engine enforces the following storage-level limits:
[!Note] Storage-level limits apply to Free Plan and Usage-Based Plan accounts. If you need higher storage-level limits, contact InfluxData Sales.
_monitoring and _tasks buckets)[!Note] To write historical data older than 30 days, retain data for more than 30 days, increase rate limits, or create additional organizations, upgrade to the Cloud Usage-Based Plan.
influx bucket update command
with the influx CLI.InfluxDB Cloud Serverless applies global (non-adjustable) system limits to all accounts, which protects the InfluxDB Cloud Serverless infrastructure for all users. As the service continues to evolve, we'll continue to review these global limits and adjust them as appropriate.
Limits include:
Content-Encoding header)couldn't create columns in table `table_name`; table contains
<N> existing columns, applying this write would result
in <N+> columns, limit is 200
This error is returned for any write request that would exceed the maximum number of columns allowed in a table.
dml handler error: service limit reached: couldn't create new table; namespace contains <N> existing
tables, applying this write would result in <N+> columns, limit is 500
This error is returned for any write request that would exceed the maximum number of tables (measurements) allowed in a namespace.
The {{< product-name >}} UI displays a notification message when service quotas or limits are exceeded. The error messages correspond with the relevant API error response messages.
Errors can also be viewed in the Usage page
under Limit Events--for example: event_type_limited_query, event_type_limited_write,
or event_type_limited_delete_rate.
The following API error responses occur when your plan's service quotas are exceeded.
| HTTP response code | Error message | Description |
|---|---|---|
HTTP 413 "Request Too Large" | cannot read data: points in batch is too large | If a write request exceeds the maximum global limit |
HTTP 429 "Too Many Requests" | Retry-After: xxx (seconds to wait before retrying the request) | If a read or write request exceeds your plan's adjustable service quotas or if a delete request exceeds the maximum global limit |
org <ORG_ID> has exceeded limited_write plan limit
The exceeded limited_write plan limit error message means you have exceeded
the amount of data your organization can write in a five minute period.
See Free plan--Data-in limit and Usage-based plan--Data-in limit.
org <ORG_ID> has exceeded limited_query plan limit
The exceeded limited_query plan limit error message means you have exceeded
the amount of data your organization can query in a five minute period.
See Free plan--Read limit and Usage-based plan--Read limit.
org <ORG_ID> has exceeded limited_query_time plan limit
The exceeded limited_query_time plan limit error message means your organization
has exceeded the amount of time allowed for query execution in a 30s period.
See Global limits--Total query time.
The Flight request returns the following gRPC error code
ResourceExhausted
And the error message contains detail about the exceeded Free Plan or Usage-Based Plan query limit--for example:
Query would process more than 500 partitions
Query would process more than 1000 parquet files
To avoid these errors, split your query into multiple queries that retrieve fewer files or partitions. For example, because {{% product-name %}} partitions data by day, you can use time boundaries to limit the number of partitions retrieved.