Comprendre les codes d'erreur
Cette page répertorie les codes d'erreur que vous pouvez rencontrer et fournit des suggestions pour les résoudre.
DEADLINE_EXCEEDED
La situation suivante peut provoquer un nombre plus important d'erreurs DEADLINE_EXCEEDED :
- Une augmentation de la latence a entraîné un dépassement du délai par l'opération (60 secondes par défaut).
DEADLINE_EXCEEDED A deadline was exceeded on the server.
Pour résoudre ce problème, consultez le guide de résolution des problèmes de latence.
ABORTED
Les situations suivantes peuvent provoquer un nombre plus important d'erreurs ABORTED :
- Un document qui reçoit trop de mises à jour par seconde.
- Contention imputable aux transactions qui se chevauchent
- Augmentation du trafic dépassant la règle des 500-50-5 ou présence de hotspots
ABORTED Too much contention on these datastore entities. Please try again.
Ou
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.
Pour remédier à ce problème :
- Pour augmenter le trafic rapidement, Firestore tente d'effectuer un scaling automatique afin de répondre à l'accroissement de la demande. Lorsque Firestore effectue un scaling, la latence diminue.
- Les hotspots limitent la capacité de Firestore à évoluer à la hausse. Consultez la page Concevoir des solutions évolutives pour identifier les hotspots.
- Examinez la contention des données dans les transactions et votre utilisation des transactions.
- Réduisez le taux d'écriture sur des documents individuels.
RESOURCE_EXHAUSTED
Les situations suivantes peuvent provoquer des erreurs RESOURCE_EXHAUSTED :
Vous avez dépassé le quota sans frais et la facturation n'est pas activée pour votre projet.
Augmentations du trafic ne respectant pas les bonnes pratiques
RESOURCE_EXHAUSTED Some resource has been exhausted, perhaps a per-user quota.
Ou
RESOURCE_EXHAUSTED This database has exceeded their daily quota or the ramp up limit for writes, please retry with exponential backoff. To learn more about limits, see 'Usage and limits' section of the support documentation.
Pour remédier à ce problème :
Si vous avez atteint votre quota de version gratuite, attendez la réinitialisation quotidienne de votre quota de version gratuite ou activez la facturation pour votre projet.
Pour augmenter le trafic rapidement, Firestore tente d'effectuer un scaling automatique afin de répondre à l'accroissement de la demande. Lorsque Firestore effectue un scaling, le nombre d'erreurs peut diminuer.
Les hotspots limitent la capacité de Firestore à évoluer à la hausse. Consultez la page Concevoir des solutions évolutives pour identifier les hotspots.
Pour les requêtes d'écoute en temps réel, assurez-vous qu'elles ne sont pas inutilement larges. Utilisez des filtres pour réduire le nombre de mises à jour.
INVALID_ARGUMENT
Les situations suivantes peuvent provoquer des erreurs INVALID_ARGUMENT :
- Tentative de validation d'un document avec une valeur de champ indexée supérieure à 1 500 octets. Cette limite s'applique à l'encodage UTF-8 de la valeur du champ.
- Tentative de validation d'un document avec des valeurs de champ non indexées supérieures à 1 048 487 octets (1 Mio – 89 octets). Cette limite s'applique à la somme des valeurs de champ dans un document. Par exemple, quatre champs de 256 Kio chacun dépassent la limite.
1 500 octets (indexés) et 1 048 487 octets (non indexés) sont des limites pour les valeurs de champ. Vous ne pouvez pas dépasser ces limites, qui ne sont pas des quotas pouvant être ajustés.
INVALID_ARGUMENT: The value of property field-name is longer than 1500 bytes
ou
INVALID_ARGUMENT: The value of property field_name is longer than 1048487 bytes
Pour remédier à ce problème :
- Pour les valeurs de champ indexées, fractionnez le champ en plusieurs champs. Si possible, créez un champ non indexé et déplacez-y les données qui n'ont pas besoin d'être indexées.
- Pour les valeurs de champ non indexées, divisez le champ en plusieurs champs ou implémentez la compression pour la valeur du champ.