Bloqueo de Flink 1.15 Async Sink - Managed Service para Apache Flink

Amazon Managed Service para Apache Flink Amazon (Amazon MSF) se denominaba anteriormente Amazon Kinesis Data Analytics para Apache Flink.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Bloqueo de Flink 1.15 Async Sink

Existe un problema conocido en el que los conectores de AWS para Apache Flink implementan la interfaz de AsyncSink. Esto afecta a las aplicaciones que utilizan Flink 1.15 con los siguientes conectores:

  • Para aplicaciones 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

  • Aplicaciones SQL/TableAPI/Python de Flink:

    • 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

Las aplicaciones afectadas experimentarán los siguientes síntomas:

  • El trabajo de Flink está en estado de RUNNING, pero no está procesando datos.

  • No se reinicia ningún trabajo.

  • Se agota el tiempo de espera de los puntos de control.

El problema se debe a un error en AWS SDK que hace que no se muestren ciertos errores al solicitante cuando se utiliza el cliente de HTTP asíncrono. Esto hace que el receptor espere indefinidamente a que se complete una “solicitud en tránsito” durante una operación de vaciado de puntos de control.

Este problema se solucionó en AWS SDK a partir de la versión 2.20.144.

A continuación, se incluyen instrucciones sobre cómo actualizar los conectores afectados para usar la nueva versión de AWS SDK en sus aplicaciones: