List of D1_ERRORs
D1_ERROR type | Description | Recommended action |
---|---|---|
No SQL statements detected. | The input query does not contain any SQL statements. | App action: Ensure the query contains at least one valid SQL statement. |
D1 DB reset because its code was updated. | Cloudflare has updated the code for D1 (or the underlying Durable Object), and the Durable Object which contains the D1 database is restarting. | Retry the operation. |
Internal error while starting up D1 DB storage caused object to be reset. | The Durable Object containing the D1 database is failing to start. | Retry the operation. |
Network connection lost. | A network error. | Retry the operation. Refer to the "Retry operation" note above. |
Internal error in D1 DB storage caused object to be reset. | An error has caused the D1 database to restart. | Retry the operation. |
Cannot resolve D1 DB due to transient issue on remote node. | The query cannot reach the Durable Object containing the D1 database. | Retry the operation. Refer to the "Retry operation" note above. |
Can't read from request stream because client disconnected. | A query request was made (e.g. uploading a SQL query), but the connection was closed during the query was fully executed. | App action: Retry the operation, and ensure the connection stays open. |
D1 DB storage operation exceeded timeout which caused object to be reset. | A query is trying to write a large amount of information (e.g. GBs), and is taking too long. | App action: Optimize the queries (so that each query takes less time), send fewer requests by spreading the load over time, or shard the queries. |
D1 DB is overloaded. Requests queued for too long. | The requests to the D1 database are queued for too long, either because there are too many requests, or the queued requests are taking too long. | App action: Optimize the queries (so that each query takes less time), send fewer requests by spreading the load over time, or shard the queries. |
D1 DB is overloaded. Too many requests queued. | The request queue to the D1 database is too long, either because there are too many requests, or the queued requests are taking too long. | App action: Optimize the queries (so that each query takes less time), send fewer requests by spreading the load over time, or shard the queries. |
D1 DB's isolate exceeded its memory limit and was reset. | A query loaded too much into memory, causing the D1 database to crash. | App action: Optimize the queries (so that each query takes less time), send fewer requests by spreading the load over time, or shard the queries. |
D1 DB exceeded its CPU time limit and was reset. | A query is taking up a lot of CPU time (e.g. scanning over 9 GB table, or attempting a large import/export). | App action: Split the query into smaller shards. |