エラーコードについて
このページでは、発生する可能性のあるエラーコードと、各エラーの修正方法について説明します。
DEADLINE_EXCEEDED
次の要因により、DEADLINE_EXCEEDED
エラーが増加する可能性があります。
- レイテンシが増大すると、オペレーションが完了するのにデッドラインよりも長くかかることがあります(デフォルトでは 60 秒)。
DEADLINE_EXCEEDED A deadline was exceeded on the server.
この問題を解決するには、レイテンシのトラブルシューティング ガイドをご覧ください。
ABORTED
次の状況では、ABORTED
エラーが増加する可能性があります。
- 1 秒間に受信する更新が多すぎるドキュメント。
- 重複しているトランザクションの競合。
- 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 フィールド値が 1,500 バイトを超えるドキュメントを commit しようとしています。この上限は、フィールド値の UTF-8 エンコードに適用されます。
- 1,048,487 バイト(1 MiB - 89 バイト)を超えるインデックスなしフィールド値を含むドキュメントを commit しようとしています。この制限は、ドキュメント内のフィールド値の合計に適用されます。たとえば、それぞれが 256 KiB である 4 つのプロパティは、上限を超えています。
フィールド値の上限は、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
この問題を解決するには:
- インデックス付きのフィールド値の場合は、フィールドを複数のフィールドに分割します。可能であれば、インデックスなしのフィールドを作成し、インデックスに登録する必要のないデータを、インデックスなしのフィールドに移動します。
- インデックスなしのフィールド値については、フィールドを複数のフィールドに分割するか、フィールド値の圧縮を実装します。