0
ストリーミングモードのメッセージを処理する「トピックA」の「サブスクリプションA」にサブスクリプションされたデータフロープロセスがあります。データフロープロセスは、再起動後にキューに入れられたメッセージを取得しません。
PubSubのドキュメントによると、メッセージがプルされないと、サブスクリプションごとに少なくとも7日間は保持されます。データフロープロセスを1時間停止してから再起動すると、ストリーミングメッセージを処理する前にサブスクライバプロセスがダウンしている間に、サブスクリプションに蓄積されたすべてのメッセージを処理するはずです。
データフロープロセスは、再起動後にキューに入れられたメッセージを受け取っていないようです。明示的な設定オプションがありますか?
データフローは、このようなダウンタイムを透過的に処理し、パイプラインを再び開始するときにすべてのバックログを処理することが前提です。 Dataflowがキューに入れられたメッセージを処理しなかったことをどのように検出しているかについて詳しく教えてください。ジョブIDが役立ちます。 – jkff
また、パイプラインを1時間停止すると言ったので、パイプライン更新機能(https://cloud.google.com/dataflow/pipelines/updating-a-pipeline)に興味があるかどうかは疑問です。 – jkff
トピックまたはサブスクリプションから読んでいますか?トピックを指定すると、データフローはジョブの開始時に新しいサブスクリプションを作成します。この場合、バッファされたメッセージはありません(メッセージはサブスクリプションごとに保持されます)。 –