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

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

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):

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

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

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

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

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