Halaman ini menunjukkan cara menyelesaikan masalah terkait upgrade pipeline streaming Dataflow menggunakan fitur seperti job penggantian paralel.
Tugas penggantian paralel
Gunakan panduan berikut saat Anda mendapatkan error saat menjalankan tugas penggantian paralel untuk mengupgrade pipeline.
Opsi wajib parallel_replace_job_min_parallel_pipelines_duration tidak ada
Saat Anda mencoba menjalankan tugas penggantian paralel, tugas ditolak dengan error berikut:
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.
Masalah ini terjadi saat parallel_replace_job_name atau parallel_replace_job_id
disetel, tetapi parallel_replace_job_min_parallel_pipelines_duration tidak.
Untuk mengatasi masalah ini, tetapkan opsi
parallel_replace_job_min_parallel_pipelines_duration bersama dengan opsi
parallel_replace_job_name atau parallel_replace_job_id.
Salah satu opsi wajib diisi parallel_replace_job_name atau parallel_replace_job_id tidak ada
Saat Anda mencoba menjalankan tugas penggantian paralel, tugas ditolak dengan error berikut:
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.
Masalah ini terjadi saat parallel_replace_job_min_parallel_pipelines_duration disetel, tetapi parallel_replace_job_name maupun parallel_replace_job_id tidak disetel.
Untuk mengatasi masalah ini, tetapkan opsi parallel_replace_job_name atau
parallel_replace_job_id bersama dengan
parallel_replace_job_min_parallel_pipelines_duration.
Nilai durasi tidak valid untuk opsi parallel_replace_job_min_parallel_pipelines_duration
Saat Anda mencoba menjalankan tugas penggantian paralel, tugas ditolak dengan error berikut:
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.
Masalah ini terjadi karena nilai durasi yang diberikan tidak valid.
Untuk mengatasi masalah ini, tetapkan string durasi yang valid dalam format <value><unit>, seperti 10s, 1m, atau 1h. Durasi harus antara nol dan 31 hari.
Tugas penggantian paralel hanya didukung untuk Streaming Engine
Saat Anda mencoba menjalankan tugas penggantian paralel, tugas ditolak dengan error berikut:
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
Masalah ini terjadi karena Streaming Engine tidak diaktifkan untuk tugas baru.
Untuk mengatasi masalah ini, aktifkan Streaming Engine dan jalankan ulang tugas.
ID tugas penggantian paralel tidak ditemukan
Saat Anda mencoba menjalankan tugas penggantian paralel, tugas ditolak dengan error berikut:
The parallel replace job id JOB_ID was not found.
Masalah ini terjadi jika ID tugas yang tidak valid ditetapkan atau jika tugas asli telah dihapus dari sistem.
Untuk mengatasi masalah ini, pastikan ID tugas yang valid dan sedang berjalan digunakan untuk opsi
parallel_replace_job_id. Jika tugas asli telah dihentikan, hapus opsi update tugas paralel dan buat tugas baru normal.
Nama tugas penggantian paralel tidak ditemukan
Saat Anda mencoba menjalankan tugas penggantian paralel, tugas ditolak dengan error berikut:
The parallel replace job name JOB_NAME was not found.
Masalah ini terjadi jika nama tugas yang tidak valid ditetapkan atau jika tugas asli telah dihapus dari sistem.
Untuk mengatasi masalah ini, pastikan nama tugas yang valid dan sedang berjalan digunakan untuk opsi
parallel_replace_job_name. Jika tugas asli telah dihentikan, hapus opsi update tugas paralel dan buat tugas baru normal.
Pekerjaan penggantian paralel mengarah ke pekerjaan yang tidak aktif
Saat Anda mencoba menjalankan tugas penggantian paralel, tugas ditolak dengan error berikut:
The parallel replace job JOB_ID is not in a active state.
Masalah ini terjadi karena tugas yang diganti bukan tugas aktif.
Untuk mengatasi masalah ini, pastikan parallel_replace_job_name atau
parallel_replace_job_id mengarah ke tugas streaming yang valid dan sedang berjalan. Jika tugas
lama sudah dihentikan, hapus opsi update tugas paralel dan buat tugas
baru yang normal.
Tugas penggantian paralel mengarah ke tugas batch
Saat Anda mencoba menjalankan tugas penggantian paralel, tugas ditolak dengan error berikut:
The parallel replace job must be a streaming job.
Masalah ini terjadi karena tugas yang diganti bukan tugas streaming.
Untuk mengatasi masalah ini, pastikan parallel_replace_job_name atau
parallel_replace_job_id mengarah ke tugas streaming yang sedang berjalan, bukan tugas batch.
Opsi tugas penggantian paralel mengarah ke tugas yang berbeda
Saat Anda mencoba menjalankan tugas penggantian paralel, tugas ditolak dengan error berikut:
The parallel replace job id JOB_ID must point to a job with name JOB_NAME.
Masalah ini terjadi karena opsi parallel_replace_job_name dan
parallel_replace_job_id mengarah ke tugas yang berbeda.
Untuk mengatasi masalah ini, jika Anda menggunakan kedua opsi, pastikan keduanya mengarah ke tugas streaming yang sama yang sedang berjalan. Atau, gunakan hanya salah satu opsi, baik
parallel_replace_job_name maupun parallel_replace_job_id.
Durasi penghentian maksimal tidak ada saat batalkan jika waktu tunggu pengurasan habis diaktifkan
Saat Anda mencoba menjalankan tugas penggantian paralel, tugas ditolak dengan error berikut:
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.
Masalah ini terjadi karena opsi parallel_replace_job_cancel_on_drain_timeout disetel ke true, tetapi opsi parallel_replace_job_max_stop_duration tidak dikonfigurasi.
Untuk mengatasi masalah ini, tetapkan opsi parallel_replace_job_max_stop_duration ke durasi yang valid, atau hapus parallel_replace_job_cancel_on_drain_timeout.
Tugas pengganti dimulai terlalu cepat setelah tugas sebelumnya
Saat Anda mencoba menjalankan tugas penggantian paralel menggunakan nama tugas yang sama, tugas akan ditolak dengan error berikut:
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>.
Masalah ini terjadi saat Anda memperbarui tugas menggunakan nama tugas yang sama (Opsi 1) dan tugas pengganti baru dimulai dalam waktu dua menit setelah dimulainya tugas sebelumnya. Dataflow menerapkan jeda minimum dua menit ini untuk mencegah update paralel duplikat yang dapat terjadi karena percobaan ulang library klien yang berulang atau RPC yang tidak aktif.
Untuk mengatasi masalah ini, tunggu setidaknya dua menit setelah awal tugas sebelumnya sebelum memulai update.