בדף הזה מפורטים קודי שגיאה שאתם עלולים להיתקל בהם, והצעות לפתרון כל אחד מהם.
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.
כדי לפתור את הבעיה:
לערכי שדות שנוספו לאינדקס, פצלו את השדה לכמה שדות. אם אפשר, צרו שדה שלא נוסף לאינדקס והעבירו אליו את הנתונים שלא צריך להוסיף לאינדקס.