Как анализировать коды ошибок

На этой странице перечислены коды ошибок, с которыми вы можете столкнуться, и приведены рекомендации по их устранению.

DeadlineExceeded (262)

Ошибки DeadlineExceeded (262) могут возникать по следующим причинам:

  • Из-за увеличения задержки операция не была выполнена в установленный срок (по умолчанию 60 секунд).
DeadlineExceeded (262): Deadline exceeded.

Чтобы устранить эту проблему, ознакомьтесь с руководством по устранению неполадок с задержкой.

Прервано (112)

Ошибки Aborted (112) могут возникать чаще в следующих случаях:

  • Документ обновляется слишком часто.
  • Конфликт из-за перекрывающихся транзакций.
  • Трафик, который быстро увеличивается или сталкивается с горячими точками.
Aborted (112): Too much contention on these documents. Please try again

или

Aborted (112): Aborted due to cross-transaction contention. This occurs when
multiple transactions attempt to access the same data, requiring at least one
to be aborted in order to enforce serializability.

Чтобы решить эту проблему, выполните следующие действия:

  • При резком увеличении трафика Cloud Firestore пытается автоматически масштабироваться, чтобы удовлетворить возросший спрос. Когда Cloud Firestore масштабируется, задержка начинает уменьшаться.
  • Горячие точки ограничивают возможности масштабирования Cloud Firestore. Ознакомьтесь с рекомендациями по проектированию масштабируемых систем, чтобы выявить проблемные места.
  • Проверьте конфликты данных в транзакциях и то, как вы используете транзакции.
  • Уменьшите частоту записи в отдельные документы.

InvalidArgument (2)

Ошибки InvalidArgument (2) могут возникать в следующих ситуациях:

  • Попытка зафиксировать документ, размер которого превышает ограничение в 7,5 КиБ для записи в индексе.

7,5 КиБ – это ограничение для записей в индексе. Это ограничение нельзя превысить, и его нельзя изменить.

InvalidArgument (2): Index entry on field_name is larger than 7680 bytes.

Чтобы решить эту проблему, выполните следующие действия:

Для индексированных значений полей разделите поле на несколько полей. По возможности создайте неиндексируемое поле и переместите в него данные, которые не нужно индексировать.