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 AsyncSink Flink-Implementierungsschnittstelle. 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 SQL/TableAPI/Python-Anwendungen:

    • 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 im AWS SDK verursacht, der dazu führt, dass dem Aufrufer bestimmte Fehler nicht angezeigt werden, wenn der asynchrone HTTP-Client verwendet wird. 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 im AWS SDK ab Version 2.20.144 behoben.

Im Folgenden finden Sie Anweisungen zum Aktualisieren der betroffenen Konnektoren, um die neue Version des AWS SDK in Ihren Anwendungen zu verwenden: