

AWS Data Pipeline ya no está disponible para nuevos clientes. Los clientes actuales de AWS Data Pipeline pueden seguir utilizando el servicio con normalidad. [Más información](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

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.

# Errores en cascada y repeticiones de ejecuciones
<a name="dp-manage-cascade-failandrerun"></a>

AWS Data Pipeline le permite configurar el comportamiento de los objetos de canalización cuando se produce un error en una dependencia o cuando un usuario la cancela. Puede asegurarse de que los errores se propaguen en cascada a otros objetos de canalización (consumidores), para evitar esperas indefinidas. Todas las actividades, nodos de datos y condiciones previas tiene un campo llamado `failureAndRerunMode` con un valor predeterminado de `none`. Para habilitar los errores en cascada, establezca el campo `failureAndRerunMode` en `cascade`. 

Cuando este campo está habilitado, se producen errores en cascada si un objeto de canalización está bloqueado en el estado `WAITING_ON_DEPENDENCIES` y las dependencias han producido un error sin ningún comando pendiente. Durante un error en cascada, se producen los eventos siguientes:
+ Cuando un objeto produce un error, sus consumidores se establecen en `CASCADE_FAILED` y las condiciones previas del objeto original y de sus consumidores se establecen en `CANCELED`.
+ Los objetos cuyo estado sea ya `FINISHED`, `FAILED` o `CANCELED` no se tienen en cuenta.

El error en cascada no funciona en dependencias de objetos con errores (ascendentes) excepto para condiciones previas asociadas con el objeto con errores original. Los objetos de canalización afectados por un error en cascada pueden disparar reintentos o acciones posteriores tales como `onFail`.

Los efectos detallados de un error en cascada dependen del tipo de objeto.

## Actividades
<a name="dp-manage-cascade-activity"></a>

Una actividad cambia a `CASCADE_FAILED` si cualquiera de sus dependencias produce un error y, posteriormente, desencadena un error en cascada en los consumidores de la actividad. Si se produce un error en un recurso del que depende una actividad, la actividad adopta el estado `CANCELED` y todos sus consumidores cambian a `CASCADE_FAILED`.

## Nodos de datos y condiciones previas
<a name="dp-manage-cascade-datanode"></a>

Si se configura un nodo de datos como salida de una actividad que produce un error, el nodo de datos cambia al estado `CASCADE_FAILED`. El error de un nodo de datos se propaga a las condiciones previas asociadas, que cambian al estado `CANCELED`.

## Recursos
<a name="dp-manage-cascade-resources"></a>

Si los objetos que dependen de un recurso se encuentran en el estado `FAILED` y el propio recurso está en el estado `WAITING_ON_DEPENDENCIES`, el recurso cambia al estado `FINISHED`.

## Volver a ejecutar objetos con errores en cascada
<a name="dp-manage-cascade-rerun"></a>

De forma predeterminada, volver a ejecutar cualquier actividad o nodo de datos solo vuelve a ejecutar el recurso asociado. Sin embargo, ajustar el campo `failureAndRerunMode` en `cascade` en un objeto de canalización permite volver a ejecutar un comando en un objeto de destino para propagarlo a todos los consumidores, en las siguientes condiciones: 
+ Los consumidores del objeto de destino están en el estado `CASCADE_FAILED`.
+ Las dependencias del objeto de destino no tienen comandos pendientes de volver a ejecutarse.
+ Las dependencias del objeto de destino no están en el estado `FAILED`, `CASCADE_FAILED` ni `CANCELED`.

Si trata de volver a ejecutar un objeto `CASCADE_FAILED` y cualquiera de sus dependencias está en estado `FAILED`, `CASCADE_FAILED` o `CANCELED`, la nueva ejecución producirá un error y devolverá el objeto al estado `CASCADE_FAILED`. Para volver a ejecutar correctamente el objeto que ha producido un error, debe seguir el error en sentido ascendente a lo largo de la cadena de dependencia para encontrar el origen del error y volver a ejecutar ese objeto en su lugar. Cuando se emite un comando de nueva ejecución en un recurso, también se intenta volver a ejecutar los objetos que dependen de él. 

## Error en cascada y reposiciones
<a name="dp-manage-cascade-backfills"></a>

Si habilitas los errores en cascada y tienes una canalización que genera muchos rellenados, los errores de tiempo de ejecución de la canalización pueden provocar que los recursos se creen y eliminen en rápida sucesión sin realizar un trabajo útil. AWS Data Pipeline intenta avisarle sobre esta situación con el siguiente mensaje de advertencia al guardar una canalización: ` {{Pipeline_object_name}} has 'failureAndRerunMode' field set to 'cascade' and you are about to create a backfill with scheduleStartTime {{start_time}}. This can result in rapid creation of pipeline objects in case of failures. ` Esto se debe a que una falla en cascada puede provocar rápidamente actividades posteriores `CASCADE_FAILED` y cerrar los clústeres de EMR y los recursos de EC2 que ya no son necesarios. Le recomendamos que pruebe las canalizaciones con intervalos de tiempo cortos para limitar los efectos de esta situación. 