Cuando estas usando Vertica como base de datos analitica, suele suceder un error  muy muy tipico

[Vertica][VJDBC](2245) ERROR: Attempted to create too many ROS containers for projection x.y

El problema proviene  Read Optimized (ROS) de vertica.

Al cargar datos en Vertica, primero se almacena en una storage  de escritura optimizada (WOS). Luego, cada 5 minutos por defecto ,el tuple movers  va moviendo el contenido del WOS al ROS, donde se indexa y comprime para obtener operaciones de lectura óptimas.

El ROS organiza los datos en contenedores. Cada vez que los motores de tuplas envían datos al ROS, se crea un nuevo contenedor. Vertica permite un máximo de 1024 contenedores por proyección . Cuando se alcanza este límite, la unidad tuple falla y la transacción se retrotrae, lo que provoca el error “Attempted to create too many ROS containers for projection“.

Vertica  automáticamente  corrige este problema a través de un proceso de fusión, que se ejecuta cada 10 minutos de manera predeterminada , lo que fusionará los contenedores existentes en contenedores más grandes, por lo tanto, irá por debajo del límite de 1024.

Que es lo que yo suelo hacer , ejecuto esta query para ver si estoy llegado al limite de 1024:

select projection_name, ros_count from projection_storage order by  2 desc;

Si estoy llegando al limite lanzo el comando :

SELECT DO_TM_TASK('mergeout');

Tambien puedes cmabiar la configuraciòn pero es algo que yo personalmente no haria.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.