Résoudre les problèmes de mise à niveau des pipelines de traitement en flux continu

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.