Auf dieser Seite wird beschrieben, wie Sie Probleme mit dem Upgrade von Dataflow Streamingpipelines mithilfe von Funktionen wie einem parallelen Ersetzungs Job beheben.
Parallele Ersetzungsjobs
Beachten Sie die folgenden Hinweise, wenn beim Ausführen eines parallelen Ersetzungsjobs zum Upgrade einer Pipeline Fehler auftreten.
Erforderliche Option parallel_replace_job_min_parallel_pipelines_duration fehlt
Wenn Sie versuchen, einen parallelen Ersetzungsjob auszuführen, wird der Job mit dem folgenden Fehler abgelehnt:
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.
Dieses Problem tritt auf, wenn parallel_replace_job_name oder parallel_replace_job_id festgelegt ist, aber parallel_replace_job_min_parallel_pipelines_duration nicht.
Legen Sie zur Behebung dieses Problems die Option parallel_replace_job_min_parallel_pipelines_duration zusammen mit der Option parallel_replace_job_name oder parallel_replace_job_id fest.
Eine der erforderlichen Optionen parallel_replace_job_name oder parallel_replace_job_id fehlt
Wenn Sie versuchen, einen parallelen Ersetzungsjob auszuführen, wird der Job mit dem folgenden Fehler abgelehnt:
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.
Dieses Problem tritt auf, wenn parallel_replace_job_min_parallel_pipelines_duration festgelegt ist, aber weder parallel_replace_job_name noch parallel_replace_job_id.
Legen Sie zur Behebung dieses Problems die Option parallel_replace_job_name oder parallel_replace_job_id zusammen mit parallel_replace_job_min_parallel_pipelines_duration fest.
Ungültiger Wert für die Option parallel_replace_job_min_parallel_pipelines_duration
Wenn Sie versuchen, einen parallelen Ersetzungsjob auszuführen, wird der Job mit dem folgenden Fehler abgelehnt:
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.
Dieses Problem tritt auf, weil der angegebene Wert für die Dauer ungültig ist.
Legen Sie zur Behebung dieses Problems einen gültigen Dauerstring im <value><unit>
Format fest, z. B. 10s, 1m oder 1h. Die Dauer muss zwischen 0 und 31 Tagen liegen.
Parallele Ersetzungsjobs werden nur für Streaming Engine unterstützt
Wenn Sie versuchen, einen parallelen Ersetzungsjob auszuführen, wird der Job mit dem folgenden Fehler abgelehnt:
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
Dieses Problem tritt auf, weil Streaming Engine für den neuen Job nicht aktiviert ist.
Aktivieren Sie zur Behebung dieses Problems Streaming Engine und führen Sie den Job noch einmal aus.
Die ID des parallelen Ersetzungsjobs wurde nicht gefunden
Wenn Sie versuchen, einen parallelen Ersetzungsjob auszuführen, wird der Job mit dem folgenden Fehler abgelehnt:
The parallel replace job id JOB_ID was not found.
Dieses Problem tritt auf, wenn eine ungültige Job-ID festgelegt ist oder der ursprüngliche Job aus dem System entfernt wurde.
Achten Sie zur Behebung dieses Problems darauf, dass für die Option parallel_replace_job_id eine gültige, ausgeführte Job-ID verwendet wird. Wenn der ursprüngliche Job bereits beendet wurde, entfernen Sie die Optionen für die parallele Stellenbenachrichtigung und erstellen Sie einen normalen neuen Job.
Der Name des parallelen Ersetzungsjobs wurde nicht gefunden
Wenn Sie versuchen, einen parallelen Ersetzungsjob auszuführen, wird der Job mit dem folgenden Fehler abgelehnt:
The parallel replace job name JOB_NAME was not found.
Dieses Problem tritt auf, wenn ein ungültiger Jobname festgelegt ist oder der ursprüngliche Job aus dem System entfernt wurde.
Achten Sie zur Behebung dieses Problems darauf, dass für die Option parallel_replace_job_name ein gültiger, ausgeführter Jobname verwendet wird. Wenn der ursprüngliche Job bereits beendet wurde, entfernen Sie die Optionen für die parallele Stellenbenachrichtigung und erstellen Sie einen normalen neuen Job.
Der parallele Ersetzungsjob verweist auf einen nicht aktiven Job
Wenn Sie versuchen, einen parallelen Ersetzungsjob auszuführen, wird der Job mit dem folgenden Fehler abgelehnt:
The parallel replace job JOB_ID is not in a active state.
Dieses Problem tritt auf, weil der zu ersetzende Job kein aktiver Job ist.
Achten Sie zur Behebung dieses Problems darauf, dass parallel_replace_job_name oder parallel_replace_job_id auf einen gültigen, ausgeführten Streamingjob verweisen. Wenn der alte Job bereits beendet wurde, entfernen Sie die Optionen für das parallele Job-Update und erstellen Sie einen normalen neuen Job.
Der parallele Ersetzungsjob verweist auf einen Batchjob
Wenn Sie versuchen, einen parallelen Ersetzungsjob auszuführen, wird der Job mit dem folgenden Fehler abgelehnt:
The parallel replace job must be a streaming job.
Dieses Problem tritt auf, weil der zu ersetzende Job kein Streamingjob ist.
Achten Sie zur Behebung dieses Problems darauf, dass parallel_replace_job_name oder parallel_replace_job_id auf einen ausgeführten Streamingjob und nicht auf einen Batchjob verweisen.
Die Optionen für den parallelen Ersetzungsjob verweisen auf verschiedene Jobs
Wenn Sie versuchen, einen parallelen Ersetzungsjob auszuführen, wird der Job mit dem folgenden Fehler abgelehnt:
The parallel replace job id JOB_ID must point to a job with name JOB_NAME.
Dieses Problem tritt auf, weil die Optionen parallel_replace_job_name und parallel_replace_job_id auf verschiedene Jobs verweisen.
Wenn Sie beide Optionen verwenden, achten Sie zur Behebung dieses Problems darauf, dass sie auf denselben ausgeführten Streamingjob verweisen. Alternativ können Sie nur eine der Optionen verwenden, entweder parallel_replace_job_name oder parallel_replace_job_id.
Maximale Beendigungsdauer fehlt, wenn „Abbrechen bei Drain-Timeout“ aktiviert ist
Wenn Sie versuchen, einen parallelen Ersetzungsjob auszuführen, wird der Job mit dem folgenden Fehler abgelehnt:
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.
Dieses Problem tritt auf, weil die Option parallel_replace_job_cancel_on_drain_timeout auf true gesetzt ist, die Option parallel_replace_job_max_stop_duration jedoch nicht konfiguriert ist.
Legen Sie zur Behebung dieses Problems für die Option parallel_replace_job_max_stop_duration eine gültige Dauer fest oder entfernen Sie parallel_replace_job_cancel_on_drain_timeout.
Der Ersetzungsjob wurde zu früh nach dem vorherigen Job gestartet
Wenn Sie versuchen, einen parallelen Ersetzungsjob mit demselben Jobnamen auszuführen, wird der Job mit dem folgenden Fehler abgelehnt:
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>.
Dieses Problem tritt auf, wenn Sie einen Job mit demselben Jobnamen aktualisieren (Option 1) und der neue Ersetzungsjob innerhalb von zwei Minuten nach dem Start des vorherigen Jobs gestartet wird. Dataflow erzwingt diese Mindestlücke von zwei Minuten, um doppelte parallele Updates zu verhindern, die aufgrund wiederholter Versuche der Clientbibliothek oder veralteter RPCs auftreten können.
Warten Sie zur Behebung dieses Problems mindestens zwei Minuten nach dem Start des vorherigen Jobs, bevor Sie das Update starten.