Flink 1.15 Async Sink Deadlock - Service géré pour Apache Flink

Le service géré Amazon pour Apache Flink était auparavant connu sous le nom d’Amazon Kinesis Data Analytics pour Apache Flink.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Flink 1.15 Async Sink Deadlock

Il existe un problème connu lié aux AWS connecteurs de l' AsyncSink interface d'implémentation d'Apache Flink. Cela concerne les applications utilisant Flink 1.15 avec les connecteurs suivants :

  • Pour les applications 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

  • Applications SQL API Flink/Table/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

Les applications concernées présenteront les symptômes suivants :

  • la tâche Flink est à l’état RUNNING, mais ne traite pas les données ;

  • il n’y a aucun redémarrage de tâche ;

  • les points de contrôle arrivent à expiration.

Le problème est dû à un bogue AWS SDK qui empêche l'appelant de signaler certaines erreurs lors de l'utilisation du client asynchroneHTTP. Le puits attend donc indéfiniment qu’une « demande en cours » soit traitée pendant une opération de vidage au point de contrôle.

Ce problème a été résolu à AWS SDK partir de la version 2.20.144.

Vous trouverez ci-dessous des instructions sur la façon de mettre à jour les connecteurs concernés afin d'utiliser la nouvelle version de AWS SDK dans vos applications :