排查流式处理流水线升级问题

本页面介绍了如何解决使用并行替换作业等功能升级 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_nameparallel_replace_job_id,但未设置 parallel_replace_job_min_parallel_pipelines_duration 时,会出现此问题。

如需解决此问题,请同时设置 parallel_replace_job_min_parallel_pipelines_duration 选项以及 parallel_replace_job_nameparallel_replace_job_id 选项。

缺少必需的选项 parallel_replace_job_nameparallel_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_nameparallel_replace_job_id 时,会出现此问题。

如需解决此问题,请同时设置 parallel_replace_job_nameparallel_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> 格式),例如 10s1m1h。时长必须介于 0 到 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 并重新运行作业。

找不到并行替换作业 ID

当您尝试运行并行替换作业时,该作业会被拒绝,并显示以下错误:

The parallel replace job id JOB_ID was not found.

如果设置了无效的作业 ID,或者原始作业已从系统中清除,则会发生此问题。

如需解决此问题,请确保为 parallel_replace_job_id 选项使用有效的正在运行的作业 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_nameparallel_replace_job_id 指向有效的正在运行的流式作业。如果旧作业已终止,请移除并行作业更新选项,并创建新的常规作业。

并行替换作业指向批处理作业

当您尝试运行并行替换作业时,该作业会被拒绝,并显示以下错误:

The parallel replace job must be a streaming job.

出现此问题的原因是,要替换的作业不是流式作业。

如需解决此问题,请确保 parallel_replace_job_nameparallel_replace_job_id 指向正在运行的流处理作业,而不是批处理作业。

并行替换作业选项指向不同的作业

当您尝试运行并行替换作业时,该作业会被拒绝,并显示以下错误:

The parallel replace job id JOB_ID must point to a job with name JOB_NAME.

出现此问题的原因是 parallel_replace_job_nameparallel_replace_job_id 选项指向不同的作业。

如需解决此问题,如果您同时使用这两个选项,请确保它们指向的是同一正在运行的流式作业。或者,您也可以仅使用其中一个选项,即 parallel_replace_job_nameparallel_replace_job_id