בדף הזה מוסבר איך לפתור בעיות בשדרוג צינורות Dataflow להזרמת נתונים באמצעות תכונות כמו החלפה מקבילה של משימות.
משימות החלפה מקבילות
אם אתם מקבלים שגיאות בהרצת עבודת החלפה מקבילה כדי לשדרג צינור עיבוד נתונים, תוכלו להיעזר בהנחיות הבאות.
חסרה אפשרות חובה parallel_replace_job_min_parallel_pipelines_duration
כשמנסים להריץ עבודת החלפה מקבילית, העבודה נדחית עם השגיאה הבאה:
The parallel replace job requires you to set the parallel_replace_job_min_parallel_pipelines_duration field. Set the field and try your request again.
הבעיה הזו מתרחשת כשמגדירים את הערך parallel_replace_job_name או parallel_replace_job_id, אבל לא את הערך parallel_replace_job_min_parallel_pipelines_duration.
כדי לפתור את הבעיה, צריך להגדיר את האפשרות parallel_replace_job_min_parallel_pipelines_duration יחד עם האפשרות parallel_replace_job_name או האפשרות parallel_replace_job_id.
חסרה אחת מאפשרויות החובה parallel_replace_job_name או parallel_replace_job_id
כשמנסים להריץ עבודת החלפה מקבילית, העבודה נדחית עם השגיאה הבאה:
The parallel replace job requires you to set either the parallel_replace_job_id field or the parallel_replace_job_name field. Set one of these fields, then try your request again.
הבעיה הזו מתרחשת כשמוגדר הערך parallel_replace_job_min_parallel_pipelines_duration, אבל לא מוגדרים הערכים parallel_replace_job_name ו-parallel_replace_job_id.
כדי לפתור את הבעיה, צריך להגדיר את האפשרות parallel_replace_job_name או את האפשרות parallel_replace_job_id יחד עם parallel_replace_job_min_parallel_pipelines_duration.
ערך משך לא תקין לאפשרות parallel_replace_job_min_parallel_pipelines_duration
כשמנסים להריץ עבודת החלפה מקבילית, העבודה נדחית עם השגיאה הבאה:
An invalid duration string VALUE is set for `parallel_replace_job_min_parallel_pipelines_duration`. Set a valid duration string, such as 10s, 1m, or 1h. but not longer than 31 days.
הבעיה הזו מתרחשת כי ערך משך הזמן שצוין לא תקין.
כדי לפתור את הבעיה, צריך להגדיר מחרוזת תקינה של משך הזמן בפורמט <value><unit>, למשל 10s, 1m או 1h. משך הזמן חייב להיות בין אפס ל-31 ימים.
החלפות מקבילות נתמכות רק ב-Streaming Engine
כשמנסים להריץ עבודת החלפה מקבילית, העבודה נדחית עם השגיאה הבאה:
Parallel replace job is only supported for Streaming Engine. To enable Streaming Engine follow the instructions at https://cloud.google.com/dataflow/docs/streaming-engine#use
הבעיה הזו מתרחשת כי Streaming Engine לא מופעל עבור העבודה החדשה.
כדי לפתור את הבעיה, מפעילים את Streaming Engine ומריצים מחדש את העבודה.
לא נמצא מזהה של עבודת החלפה מקבילה
כשמנסים להריץ עבודת החלפה מקבילית, העבודה נדחית עם השגיאה הבאה:
The parallel replace job id JOB_ID was not found.
הבעיה הזו מתרחשת אם מוגדר מזהה משרה לא תקין או אם המשרה המקורית נמחקה מהמערכת.
כדי לפתור את הבעיה, צריך לוודא שמזהה המשימה שצוין באפשרות parallel_replace_job_id הוא מזהה תקף של משימה שפועלת. אם המשימה המקורית כבר הסתיימה, מסירים את האפשרויות לעדכון משימה מקבילה ויוצרים משימה חדשה רגילה.
לא נמצא שם של עבודת החלפה מקבילה
כשמנסים להריץ עבודת החלפה מקבילית, העבודה נדחית עם השגיאה הבאה:
The parallel replace job name JOB_NAME was not found.
הבעיה הזו מתרחשת אם מוגדר שם משרה לא תקין או אם המשרה המקורית נמחקה מהמערכת.
כדי לפתור את הבעיה, צריך לוודא שמשתמשים בשם משימה תקין ופעיל באפשרות parallel_replace_job_name. אם המשימה המקורית כבר הסתיימה, מסירים את האפשרויות לעדכון משימה מקבילה ויוצרים משימה חדשה רגילה.
החלפה מקבילה של נקודות בעבודה מפנה לעבודה לא פעילה
כשמנסים להריץ עבודת החלפה מקבילית, העבודה נדחית עם השגיאה הבאה:
The parallel replace job JOB_ID is not in a active state.
הבעיה הזו מתרחשת כי המשרה שמוחלפת לא פעילה.
כדי לפתור את הבעיה, צריך לוודא שהערכים parallel_replace_job_name או parallel_replace_job_id מצביעים על משימת סטרימינג תקינה שפועלת. אם המשימה הישנה כבר הסתיימה, מסירים את האפשרויות לעדכון מקביל של המשימה ויוצרים משימה חדשה רגילה.
החלפת עבודות מקבילה מצביעה על משימה באצווה
כשמנסים להריץ עבודת החלפה מקבילית, העבודה נדחית עם השגיאה הבאה:
The parallel replace job must be a streaming job.
הבעיה הזו מתרחשת כי העבודה שמוחלפת היא לא עבודה של סטרימינג.
כדי לפתור את הבעיה, צריך לוודא שההפניה parallel_replace_job_name או parallel_replace_job_id היא למשימת סטרימינג פעילה ולא למשימת אצווה.
אפשרויות להחלפה מקבילה של משרות מצביעות על משרות שונות
כשמנסים להריץ עבודת החלפה מקבילית, העבודה נדחית עם השגיאה הבאה:
The parallel replace job id JOB_ID must point to a job with name JOB_NAME.
הבעיה הזו מתרחשת כי האפשרויות parallel_replace_job_name ו-parallel_replace_job_id מפנות למשימות שונות.
כדי לפתור את הבעיה, אם אתם משתמשים בשתי האפשרויות, ודאו שהן מפנות לאותו
תהליך סטרימינג פעיל. אפשר גם להשתמש רק באחת מהאפשרויות, או ב-parallel_replace_job_name או ב-parallel_replace_job_id.
חסר משך זמן מקסימלי להפסקה כשהאפשרות 'ביטול אם חלף הזמן הקצוב לתהליך הניקוז' מופעלת
כשמנסים להריץ עבודת החלפה מקבילית, העבודה נדחית עם השגיאה הבאה:
The parallel_replace_job_cancel_on_drain_timeout service option requires you to set the parallel_replace_job_max_stop_duration service option. Set the parallel_replace_job_max_stop_duration field and try your request again.
הבעיה הזו מתרחשת כי האפשרות parallel_replace_job_cancel_on_drain_timeout מוגדרת לערך true, אבל האפשרות parallel_replace_job_max_stop_duration לא מוגדרת.
כדי לפתור את הבעיה, צריך להגדיר את האפשרות parallel_replace_job_max_stop_duration לערך תקין של משך הזמן, או להסיר את parallel_replace_job_cancel_on_drain_timeout.
משימת ההחלפה התחילה מוקדם מדי אחרי המשימה הקודמת
כשמנסים להריץ עבודת החלפה מקבילה באמצעות אותו שם עבודה, העבודה נדחית עם השגיאה הבאה:
The new parallel replace job must start after <var>min_duration</var> from the start of the previous job <var>old_job_id</var>. The current gap has the duration <var>gap_between_job</var>.
הבעיה הזו מתרחשת כשמעדכנים עבודה באמצעות אותו שם עבודה (אפשרות 1) והעבודה החדשה שנועדה להחליף את הקודמת מתחילה תוך שתי דקות מתחילת העבודה הקודמת. מערכת Dataflow אוכפת את הפער המינימלי הזה של שתי דקות כדי למנוע עדכונים מקבילים כפולים שיכולים להתרחש בגלל ניסיונות חוזרים של ספריית הלקוח או בקשות RPC לא עדכניות.
כדי לפתור את הבעיה, צריך להמתין לפחות שתי דקות אחרי תחילת העבודה הקודמת לפני שמתחילים את העדכון.