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的指示: