Flink 1.15 非同期シンクデッドロック - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink は、以前は Amazon Kinesis Data Analytics for Apache Flink と呼ばれていました。

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

Flink 1.15 非同期シンクデッドロック

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を使用する方法の手順です。