

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Apache Beam 애플리케이션의 체크포인트 실패
<a name="troubleshooting-chk-failure-beam"></a>

Beam 애플리케이션이 [shutdownSourcesAfterIdleMs를](https://beam.apache.org/documentation/runners/flink/#:~:text=shutdownSourcesAfterIdleMs) 0ms로 설정하도록 구성된 경우 작업이 “완료” 상태이기 때문에 체크포인트가 트리거되지 않을 수 있습니다. 이 섹션에서는 그러한 상황의 증상과 해결 방법을 설명합니다.

## 증상
<a name="troubleshooting-chk-failure-beam-symptoms"></a>

Managed Service for Apache Flink 애플리케이션 CloudWatch 로그로 이동하여 다음 로그 메시지가 기록되었는지 확인합니다. 다음 로그 메시지는 일부 작업이 완료되어 체크포인트가 트리거되지 않았음을 나타냅니다.

```
                {
                "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"
                }
```

일부 작업이 “완료” 상태로 전환되어 더 이상 체크포인트를 지정할 수 없는 Flink 대시보드에서도 이 문제를 확인할 수 있습니다.

![\[“완료” 상태인 작업은\]](http://docs.aws.amazon.com/ko_kr/managed-flink/latest/java/images/beam_checkpoint_failure.png)


## 원인
<a name="troubleshooting-chk-failure-beam-causes"></a>

ShutdownSourcesAfterIdleMs는 구성된 시간(밀리초) 동안 유휴 상태였던 소스를 종료하는 Beam 구성 변수입니다. 일단 소스가 종료되면 체크포인트를 더 이상 사용할 수 없습니다. 이로 인해 [체크포인트 오류](https://issues.apache.org/jira/browse/FLINK-2491)가 발생할 수 있습니다.

작업이 “완료” 상태로 전환되는 원인 중 하나는 ShutdownSourcesAfterIdleMs가 0ms로 설정된 경우입니다. 즉, 유휴 상태인 작업이 즉시 종료됩니다.

## Solution
<a name="troubleshooting-chk-failure-beam-solution"></a>

작업이 즉시 “완료” 상태로 전환되지 않도록 하려면 shutdownSourcesAfterIdleMs를 Long.MAX\$1VALUE를 설정하십시오. 이것은 두 가지 방법으로 수행될 수 있습니다.
+ 옵션 1: Managed Service for Apache Flink 애플리케이션 구성 페이지에서 빔 구성을 설정한 경우 다음과 같이 새 키 값 쌍을 추가하여 shutdpwnSourcesAfteridleMs를 설정할 수 있습니다.  
![\[shutdpwnSourcesAfteridleMs를 Long.MAX_VALUE로 설정합니다.\]](http://docs.aws.amazon.com/ko_kr/managed-flink/latest/java/images/beam_checkpoint_failure_solution.png)
+ 옵션 2: JAR 파일에 빔 컨피그레이션이 설정된 경우 다음과 같이 shutdpwnSourcesAfteridleMs를 설정할 수 있습니다:

  ```
                          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
  ```