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

רלוונטי רק למהדורת Cloud Firestore Enterprise.

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

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 עם תאימות ל-MongoDB מנסה לבצע התאמה לעומס (autoscaling) באופן אוטומטי כדי לעמוד בביקוש המוגבר. כשמגדילים את הקיבולת של Cloud Firestore עם תאימות ל-MongoDB, זמן האחזור מתחיל להתקצר.
  • הנקודות החמות מגבילות את היכולת של Cloud Firestore עם תאימות ל-MongoDB להתרחב. כדאי לעיין במאמר בנושא תכנון להרחבה כדי לזהות נקודות חמות.
  • בודקים את התחרות על נתונים בעסקאות ואת השימוש שלכם בעסקאות.
  • צריך להקטין את קצב הכתיבה למסמכים בודדים.

InvalidArgument (2)

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

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

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

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

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

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