Flink 1.15 Async Sink 교착 상태 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink는 이전에 Amazon Kinesis Data Analytics for Apache Flink로 알려졌습니다.

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

Flink 1.15 Async Sink 교착 상태

Apache Flink 구현 인터페이스의 AWS 커넥터에는 알려진 문제가 있습니다. AsyncSink 이는 다음 커넥터와 함께 Flink 1.15를 사용하는 애플리케이션에 영향을 줍니다.

  • Java 애플리케이션의 경우:

    • KinesisStreamsSink – org.apache.flink:flink-connector-kinesis

    • KinesisStreamsSink – org.apache.flink:flink-connector-aws-kinesis-streams

    • KinesisFirehoseSink – org.apache.flink:flink-connector-aws-kinesis-firehose

    • DynamoDbSink – org.apache.flink:flink-connector-dynamodb

  • SQLAPI플링크/테이블/파이썬 애플리케이션:

    • kinesis – org.apache.flink:flink-sql-connector-kinesis

    • kinesis – org.apache.flink:flink-sql-connector-aws-kinesis-streams

    • firehose – org.apache.flink:flink-sql-connector-aws-kinesis-firehose

    • dynamodb – org.apache.flink:flink-sql-connector-dynamodb

영향을 받는 애플리케이션에서는 다음과 같은 증상이 나타납니다.

  • Flink 작업이 RUNNING 상태이지만 데이터를 처리하지 못하고 있다;

  • 작업이 다시 시작되지 않는다;

  • 체크포인트 시간이 초과되었다.

이 문제는 비동기 클라이언트를 사용할 때 호출자에게 특정 오류가 표시되지 않는 AWS SDK버그로 인해 발생합니다. HTTP 이로 인해 싱크는 체크포인트 플러시 작업 중에 “진행 중인 요청”이 완료될 때까지 무기한 대기하게 됩니다.

이 문제는 버전 AWS SDK 2.20.144부터 수정되었습니다.

다음은 애플리케이션에서 새 버전을 사용하도록 영향을 받는 커넥터를 업데이트하는 방법에 대한 AWS SDK 지침입니다.