View a markdown version of this page

FLINK 1.15 非同步接收器死鎖 - Managed Service for Apache Flink

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

FLINK 1.15 非同步接收器死鎖

實作 AsyncSink 介面的 Apache Flink 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

  • 快速 SQL/資料表 API/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 的指示: