

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Apache Beam アプリケーションのチェックポイント障害
<a name="troubleshooting-chk-failure-beam"></a>

Beam アプリケーションが「[ShutdownSourcesAfterIdlems](https://beam.apache.org/documentation/runners/flink/#:~:text=shutdownSourcesAfterIdleMs)」を 0 ミリ秒に設定して構成されている場合、タスクが「FINISHED」状態になっているためにチェックポイントがトリガーされないことがあります。このセクションでは、この状態の症状と解決策について説明します。

## 症状
<a name="troubleshooting-chk-failure-beam-symptoms"></a>

Apache Flink アプリケーション用 Managed Service の CloudWatch logs に移動し、次のログメッセージが記録されているかどうかを確認します。次のログメッセージは、一部のタスクが完了したためにチェックポイントがトリガーされなかったことを示しています。

```
                {
                "locationInformation": "org.apache.flink.runtime.checkpoint.CheckpointCoordinator.onTriggerFailure(CheckpointCoordinator.java:888)",
                "logger": "org.apache.flink.runtime.checkpoint.CheckpointCoordinator",
                "message": "Failed to trigger checkpoint for job {{your job ID}} since some tasks of job {{your job ID}} has been finished, abort the checkpoint Failure reason: Not all required tasks are currently running.",
                "threadName": "Checkpoint Timer",
                "applicationARN": {{your application ARN}},
                "applicationVersionId": "5",
                "messageSchemaVersion": "1",
                "messageType": "INFO"
                }
```

一部のタスクが「FINISHED」状態になり、チェックポイントを設定できなくなった Flink ダッシュボードでも確認できます。

![「FINISHED」状態のタスク](http://docs.aws.amazon.com/ja_jp/managed-flink/latest/java/images/beam_checkpoint_failure.png)


## 原因
<a name="troubleshooting-chk-failure-beam-causes"></a>

ShutdownSourcesAfterIdlems は、設定したミリ秒の間アイドル状態だったソースをシャットダウンするビーム設定変数です。ソースがシャットダウンされると、チェックポイント設定はできなくなります。これにより、「[チェックポイント障害](https://issues.apache.org/jira/browse/FLINK-2491)」が発生する可能性があります。

タスクが「FINISED」状態になる原因の 1 つは、ShutdownSourcesAfterIdlems が 0 ミリ秒に設定されている場合です。つまり、アイドル状態のタスクはすぐにシャットダウンされます。

## ソリューション
<a name="troubleshooting-chk-failure-beam-solution"></a>

タスクがすぐに「FINISHED」状態にならないようにするには、ShutdownSourcesAfterIdlems を Long.max\_Value に設定します。これには 2 つの方法で実行できます。
+ オプション 1: Apache Flink 用 Managed Service のアプリケーション設定ページでビーム設定が設定されている場合は、新しいキー値のペアを追加して ShutDpwnSourcesAfterIdlems を次のように設定できます。  
![IdleMS 後のシャットダウンソースを Long.MAX_VALUE に設定します](http://docs.aws.amazon.com/ja_jp/managed-flink/latest/java/images/beam_checkpoint_failure_solution.png)
+ オプション 2: JAR ファイルでビーム構成が設定されている場合は、ShutdownSourcesAfterIdlems を次のように設定できます。

  ```
                          FlinkPipelineOptions options = PipelineOptionsFactory.create().as(FlinkPipelineOptions.class); // Initialize Beam Options object
  
                          options.setShutdownSourcesAfterIdleMs(Long.MAX_VALUE); // set shutdownSourcesAfterIdleMs to Long.MAX_VALUE
                          options.setRunner(FlinkRunner.class);
  
                          Pipeline p = Pipeline.create(options); // attach specified options to Beam pipeline
  ```