Amazon Managed Service para Apache Flink Amazon (Amazon MSF) se denominaba anteriormente Amazon Kinesis Data Analytics para Apache Flink.
Crecimiento de estado ilimitado
Si su aplicación no elimina adecuadamente la información de estado desactualizada, esta se acumulará continuamente y provocará problemas de rendimiento o estabilidad de la aplicación. En esta sección se describen los síntomas y los pasos para solucionar esta condición.
Síntomas
Esta condición puede tener los siguientes síntomas:
La métrica
lastCheckpointDurationestá aumentando o teniendo picos gradualmente.La métrica
lastCheckpointSizeestá aumentando o teniendo picos gradualmente.
Causas y soluciones
Las siguientes condiciones pueden provocar que su aplicación acumule datos de estado:
Su aplicación retiene los datos de estado por más tiempo del necesario.
Su aplicación utiliza consultas de ventana con una duración demasiado larga.
No configuró el TTL para sus datos de estado. Para obtener más información, consulte State Time-To-Live (TTL)
en la documentación de Apache Flink. Está ejecutando una aplicación que depende de la versión 2.25.0 o posterior de Apache Beam. Se puede excluirse de la nueva versión de la transformación de lectura ampliando sus BeamApplicationProperties con los experimentos clave y el valor
use_deprecated_read. Para obtener más información, consulte la documentación de Apache Beam.
A veces, las aplicaciones se enfrentan a un crecimiento cada vez mayor del tamaño de estado, lo que no es sostenible a largo plazo (al fin y al cabo, una aplicación de Flink se ejecuta indefinidamente). A veces, esto se debe a que las aplicaciones almacenan los datos en estado y no conservan adecuadamente la información antigua. Pero a veces hay expectativas irrazonables sobre lo que Flink puede ofrecer. Las aplicaciones pueden usar agregaciones durante largos períodos de tiempo que abarcan días o incluso semanas. A menos que se utilice AggregateFunctions
Además, al utilizar funciones de proceso para implementar operadores personalizados, la aplicación debe eliminar los datos del estado que ya no son necesarios para la lógica de negocios. En ese caso, el tiempo de vida útil del estado
Con fines de depuración, puede resultar útil desactivar los puntos de control incrementales para comprobar con mayor rapidez si el tamaño de los puntos de control realmente disminuye o se estabiliza (y evitar así el efecto de compactación en RocksBS). Sin embargo, esto requiere una solicitud de asistencia con el equipo de servicio.