Flink 1.15 Async Sink Deadlock - Managed Service für Apache Flink

Amazon Managed Service für Apache Flink war zuvor als Amazon Kinesis Data Analytics für Apache Flink bekannt.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Flink 1.15 Async Sink Deadlock

Es gibt ein bekanntes Problem mit AWS Konnektoren für die Apache Flink-Implementierungsschnittstelle. AsyncSink Dies betrifft Anwendungen, die Flink 1.15 mit den folgenden Konnektoren verwenden:

  • Für Java-Anwendungen:

    • 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-AnwendungenSQL/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

Bei betroffenen Anwendungen treten die folgenden Symptome auf:

  • Der Flink-Auftrag befindet sich im RUNNING-Status, verarbeitet aber keine Daten;

  • Es gibt keine Auftragsneustarts;

  • Bei Checkpoints kommt es zu Zeitüberschreitungen.

Das Problem wird durch einen Fehler verursacht, der dazu AWS SDK führt, dass dem Aufrufer bestimmte Fehler bei der Verwendung des asynchronen Clients nicht angezeigt werden. HTTP Dies führt dazu, dass die Senke während eines Checkpoint-Flush-Vorgangs auf unbestimmte Zeit darauf wartet, dass eine in Übertragung befindliche Anfrage abgeschlossen wird.

Dieses Problem wurde AWS SDK ab Version 2.20.144 behoben.

Im Folgenden finden Sie Anweisungen zum Aktualisieren der betroffenen Konnektoren, damit Sie die neue Version von AWS SDK in Ihren Anwendungen verwenden können: