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

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

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.

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

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