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

Amazon Managed Service para Apache Flink Amazon 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 con los AWS conectores de la AsyncSink interfaz de implementación de Apache Flink. 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 FlinkSQL/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

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 el AWS SDK que hace que la persona que llama no muestre ciertos errores cuando utiliza el cliente 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 el 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 del AWS SDK en sus aplicaciones: