了解错误代码

本页面列出了您可能会遇到的错误代码,并提供了有关如何解决这些错误代码的建议。

DEADLINE_EXCEEDED

以下情况可能会增加 DEADLINE_EXCEEDED 错误:

  • 延迟时间增加导致操作完成所需的时间超出截止时间(默认为 60 秒)。
DEADLINE_EXCEEDED

A deadline was exceeded on the server.

如需解决此问题,请参阅有关排查延迟时间问题的指南

ABORTED

以下情况可能会增加 ABORTED 错误:

  • 文档每秒更新次数过多。
  • 由于事务重叠导致争用。
  • 流量增加超过 500-50-5 规则或遇到热点。
ABORTED

Too much contention on these datastore entities. Please try again.

ABORTED

Aborted due to cross-transaction contention. This occurs when multiple
transactions attempt to access the same data, requiring Firestore to abort at
least one in order to enforce serializability.

要解决此问题,请执行以下操作:

  • 对于流量快速增加,Firestore 会尝试自动扩缩以满足增加的需求。当 Firestore 延迟时间开始减少
  • 热点限制了 Firestore 扩容的能力,请查看可扩缩设计来确定热点。
  • 查看事务中的数据争用以及您对事务的使用情况。
  • 降低单个文档的写入速率。

RESOURCE_EXHAUSTED

以下情况可能会导致 RESOURCE_EXHAUSTED 错误:

RESOURCE_EXHAUSTED

Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space.

要解决此问题,请执行以下操作:

INVALID_ARGUMENT

以下情况可能会导致 INVALID_ARGUMENT 错误:

  • 尝试提交 indexed 字段值大于 1500 个字节。此限制适用于字段值的 UTF-8 编码。
  • 尝试提交未编入索引字段值大于该值的文档 大于 1,048,487 字节(1 MiB - 89 字节)。此限制适用于 指定文档中的各个字段值例如,四个各 256 KiB 的字段会超出此限制。

1500 个字节(已编入索引)和 1048487 个字节(未编入索引) 限制。您不能超出这些限制,这些限制也无法调整。

INVALID_ARGUMENT: The value of property field-name is longer than 1500 bytes

INVALID_ARGUMENT: The value of property field_name is longer than 1048487 bytes

要解决此问题,请执行以下操作:

  • 对于编入索引的字段值,请将该字段拆分为多个字段。如果可能,请创建一个未编入索引的字段 以及将不需要编入索引的数据移至未编入索引的 字段。
  • 对于未编入索引的字段值,请将字段拆分为多个字段 或对字段值实施压缩。