了解错误代码

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

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 错误:

  • 尝试提交编入索引的字段值超过 1,500 字节的文档。此限制适用于字段值的 UTF-8 编码。
  • 尝试提交未编入索引且字段值大于 1048487 字节(1 MiB - 89 字节)的文档。此限制适用于文档中字段值的总和。例如,四个各 256 KiB 的字段会超出此限制。

1,500 个字节(编入索引)和 1,048,487 个字节(未编入索引)是字段值的限制。您不能超出这些限制,这些限制也无法调整。

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

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

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