サポート対象となる日付を超えて SDK バージョンからジョブを送信すると、中断が発生して長時間実行バッチまたはストリーミング ジョブのスループットが低下します。問題を軽減するには、次の手順を行います。
- SDK バージョンをアップグレードします。(推奨)
- 一時トークンを使用してジョブを再送信します。
- 中断されたジョブを再開します。
サポートされていない SDK バージョンでのジョブの開始
サポートされている日付より後に SDK バージョンから Dataflow ジョブを送信すると、SDK のバージョンをアップグレードするか、ジョブの送信時に一時トークンを使用するように指示するエラー メッセージが表示されます。
エラー メッセージのトークン値には、トークン自体に加えてトークンの有効期限が含まれます。有効期限は 2 週間先に設定されます。
このトークンを使用する場合は、unsupported_sdk_temporary_override_token
テストフラグとトークン値を使用してジョブを再送信してください。
--experiments=unsupported_sdk_temporary_override_token=TOKEN
有効期限が切れた後にトークンを使ってジョブを送信した場合、期限切れのステータスを示す別のエラー メッセージが表示されます。サポートされている SDK バージョンにアップグレードするか、トークンを使用せずにジョブを再送信して新しいトークンを取得してください。
サポートされていない SDK を永続的に使用するためにトークンを使用しないでください。サポート対象外の SDK では、期限が切れた後しばらくすると、すべてのトークンが取り消され、そのバージョンの SDK を使用するジョブはすべて拒否されます。各 SDK のサポート状況について詳しくは、SDK バージョンのサポート状況をご覧ください。
中断されたジョブの再開
ストリーミング ジョブなど、サポート対象外の SDK を使用する長時間実行される Dataflow ジョブも中断され、スループットが大幅に削減されます。中断されたジョブは、ジョブログで次のエラー メッセージで確認できます。
サポート対象外の SDK Apache Beam SDK for Python 2.3.0 が使用されているため、ワークフローが自動的に中断しました。最新の SDK バージョンにアップグレードしてください。中断されたジョブを一時的に再開するには、
gcloud alpha dataflow jobs resume-unsupported-sdk --token=TOKEN --region=REGION JOB_ID
を使用してください。このトークンによって再開されたジョブは、2020 年 8 月 28 日 11 時 21 分 58 秒~7 時まで再び中断されます。サポートされている SDK バージョンのリストについては、https://cloud.google.com/dataflow/support#support-status-for-dataflow-sdk-releases をご覧ください。
エラーが示すように、中断は resume-unsupported-sdk コマンドを使用して軽減できます。中断されたジョブの再開は一時的な解決策です。今後、非推奨予定の SDK のバージョンはアップグレードしてください。