本页面介绍了如何解决使用并行替换作业等功能升级 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
。时长必须介于 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_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
。