Cette page explique comment résoudre les problèmes liés à la mise à niveau des pipelines de streaming Dataflow à l'aide de fonctionnalités telles que le job de remplacement parallèle.
Tâches de remplacement en parallèle
Suivez les instructions ci-dessous lorsque vous rencontrez des erreurs lors de l'exécution d'un job de remplacement parallèle pour mettre à niveau un pipeline.
Option obligatoire manquante : parallel_replace_job_min_parallel_pipelines_duration
Lorsque vous essayez d'exécuter un job de remplacement parallèle, il est refusé et l'erreur suivante s'affiche :
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.
Ce problème se produit lorsque parallel_replace_job_name
ou parallel_replace_job_id
est défini, mais que parallel_replace_job_min_parallel_pipelines_duration
ne l'est pas.
Pour résoudre ce problème, définissez l'option parallel_replace_job_min_parallel_pipelines_duration
avec l'option parallel_replace_job_name
ou parallel_replace_job_id
.
Il manque l'une des options obligatoires : parallel_replace_job_name
ou parallel_replace_job_id
Lorsque vous essayez d'exécuter un job de remplacement parallèle, il est refusé et l'erreur suivante s'affiche :
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.
Ce problème se produit lorsque parallel_replace_job_min_parallel_pipelines_duration
est défini, mais que ni parallel_replace_job_name
ni parallel_replace_job_id
ne le sont.
Pour résoudre ce problème, définissez l'option parallel_replace_job_name
ou parallel_replace_job_id
avec parallel_replace_job_min_parallel_pipelines_duration
.
Valeur de durée incorrecte pour l'option parallel_replace_job_min_parallel_pipelines_duration
Lorsque vous essayez d'exécuter un job de remplacement parallèle, il est refusé et l'erreur suivante s'affiche :
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.
Ce problème se produit, car la valeur de durée fournie n'est pas valide.
Pour résoudre ce problème, définissez une chaîne de durée valide au format <value><unit>
, par exemple 10s
, 1m
ou 1h
. La durée doit être comprise entre zéro et 31 jours.
Les jobs de remplacement en parallèle ne sont compatibles qu'avec Streaming Engine.
Lorsque vous essayez d'exécuter un job de remplacement parallèle, il est refusé et l'erreur suivante s'affiche :
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
Ce problème se produit, car Streaming Engine n'est pas activé pour le nouveau job.
Pour résoudre ce problème, activez le moteur de streaming et réexécutez le job.
L'ID du job de remplacement parallèle est introuvable.
Lorsque vous essayez d'exécuter un job de remplacement parallèle, il est refusé et l'erreur suivante s'affiche :
The parallel replace job id JOB_ID was not found.
Ce problème se produit si un ID de job non valide est défini ou si le job d'origine a été supprimé du système.
Pour résoudre ce problème, assurez-vous qu'un ID de job valide et en cours d'exécution est utilisé pour l'option parallel_replace_job_id
. Si le job d'origine a déjà été arrêté, supprimez les options de mise à jour du job parallèle et créez un nouveau job normal.
Le nom du job de remplacement parallèle est introuvable.
Lorsque vous essayez d'exécuter un job de remplacement parallèle, il est refusé et l'erreur suivante s'affiche :
The parallel replace job name JOB_NAME was not found.
Ce problème se produit si un nom de job non valide est défini ou si le job d'origine a été supprimé du système.
Pour résoudre ce problème, assurez-vous qu'un nom de job valide et en cours d'exécution est utilisé pour l'option parallel_replace_job_name
. Si le job d'origine a déjà été arrêté, supprimez les options de mise à jour du job parallèle et créez un nouveau job normal.
Le job de remplacement parallèle pointe vers un job non actif
Lorsque vous essayez d'exécuter un job de remplacement parallèle, il est refusé et l'erreur suivante s'affiche :
The parallel replace job JOB_ID is not in a active state.
Ce problème se produit, car le job remplacé n'est pas actif.
Pour résoudre ce problème, assurez-vous que parallel_replace_job_name
ou parallel_replace_job_id
pointent vers un job de streaming valide et en cours d'exécution. Si l'ancien job est déjà terminé, supprimez les options de mise à jour du job parallèle et créez un nouveau job normal.
Un job de remplacement parallèle pointe vers un job par lot
Lorsque vous essayez d'exécuter un job de remplacement parallèle, il est refusé et l'erreur suivante s'affiche :
The parallel replace job must be a streaming job.
Ce problème se produit, car le job remplacé n'est pas un job de streaming.
Pour résoudre ce problème, assurez-vous que parallel_replace_job_name
ou parallel_replace_job_id
pointe vers un job de flux en cours d'exécution, et non vers un job par lot.
Les options de job de remplacement parallèle pointent vers différents jobs
Lorsque vous essayez d'exécuter un job de remplacement parallèle, il est refusé et l'erreur suivante s'affiche :
The parallel replace job id JOB_ID must point to a job with name JOB_NAME.
Ce problème se produit, car les options parallel_replace_job_name
et parallel_replace_job_id
pointent vers des jobs différents.
Pour résoudre ce problème, si vous utilisez les deux options, assurez-vous qu'elles pointent vers le même job de streaming en cours d'exécution. Vous pouvez également n'utiliser qu'une seule de ces options, à savoir parallel_replace_job_name
ou parallel_replace_job_id
.