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 구현 AsyncSink 인터페이스용 AWS 커넥터에 알려진 문제가 있습니다. 이는 다음 커넥터와 함께 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

  • Flink SQL/TableAPI/Python 애플리케이션:

    • 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 클라이언트를 사용할 때 호출자에게 특정 오류가 표시되지 않습니다. 이로 인해 싱크는 체크포인트 플러시 작업 중에 “진행 중인 요청”이 완료될 때까지 무기한 대기하게 됩니다.

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

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