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

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

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.

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

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