הסבר על קודי שגיאה

בדף הזה מפורטים קודי שגיאה שאתם עלולים להיתקל בהם, והצעות לפתרון כל אחד מהם.

‫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 להתרחב. כדי לזהות נקודות חמות, כדאי לעיין במאמר תכנון להתאמה לעומס (scaling).
  • בודקים את התחרות על נתונים בעסקאות ואת השימוש בעסקאות.
  • מפחיתים את קצב הכתיבה למסמכים בודדים.

InvalidArgument (2)

השגיאה InvalidArgument (2) יכולה להתרחש במצבים הבאים:

  • ניסיון לשמור מסמך שחורג מהמגבלה של 7.5KiB לרשומה באינדקס.

‫7.5KiB היא המגבלה על רשומות באינדקס. אי אפשר לחרוג מהמגבלה הזו, וזו לא מכסה שאפשר לשנות.

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

כדי לפתור את הבעיה:

לערכי שדות שנוספו לאינדקס, פצלו את השדה לכמה שדות. אם אפשר, צרו שדה שלא נוסף לאינדקס והעבירו אליו את הנתונים שלא צריך להוסיף לאינדקס.