

AWS Data Pipeline n'est plus disponible pour les nouveaux clients. Les clients existants de AWS Data Pipeline peuvent continuer à utiliser le service normalement. [En savoir plus](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Mise en cascade des échecs et des réexécutions
<a name="dp-manage-cascade-failandrerun"></a>

AWS Data Pipeline vous permet de configurer le comportement des objets du pipeline lorsqu'une dépendance échoue ou est annulée par un utilisateur. Vous pouvez vous assurer que les échecs se mettent en cascade vers d'autres objets de pipeline (consommateurs), afin d'éviter une attente indéfinie. Toutes les activités, tous les nœuds de données et toutes les conditions préalables comportent un champ nommé `failureAndRerunMode` doté d'une valeur `none` par défaut. Pour activer les échecs en cascade, définissez le champ `failureAndRerunMode` sur `cascade`. 

Lorsque ce champ est activé, les échecs en cascade se produisent si un objet de pipeline est bloqué à l'état `WAITING_ON_DEPENDENCIES` et que toutes les dépendances ont échoué sans aucune commande en attente. Lors d'un échec en cascade, les événements suivants se produisent :
+ Lorsqu'un objet échoue, ses consommateurs sont définis sur `CASCADE_FAILED`, et l'objet d'origine et les conditions préalables de ses consommateurs sont définis sur `CANCELED`.
+ Tous les objets qui sont déjà définis sur `FINISHED`, `FAILED` ou `CANCELED` sont ignorés.

L'échec en cascade ne fonctionne pas sur les dépendances de l'objet en échec (en amont), à l'exception des conditions préalables associées à l'objet en échec d'origine. Les objets de pipeline affectés par un échec de cascade peuvent déclencher de nouvelles tentatives ou des actions ultérieures, par exemple `onFail`.

Les effets détaillés d'un échec en cascade dépendent du type d'objet.

## Activités
<a name="dp-manage-cascade-activity"></a>

Une activité passe à l'état `CASCADE_FAILED` si l'une de ses dépendances échoue, puis elle déclenche un échec en cascade pour les consommateurs de l'activité. Si une ressource échoue du fait que l'activité en dépend, l'état de l'activité est `CANCELED` et tous ses consommateurs passent à l'état `CASCADE_FAILED`.

## Nœuds de données et conditions préalables
<a name="dp-manage-cascade-datanode"></a>

Si un nœud de données est configuré en tant que sortie d'une activité qui échoue, le nœud de données passe à l'état `CASCADE_FAILED`. L'échec d'un nœud de données se propage vers toutes les conditions préalables associées, qui passent à l'état `CANCELED`.

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

Si l'état des objets qui dépendent d'une ressource est `FAILED` et celui de la ressource elle-même est `WAITING_ON_DEPENDENCIES`, la ressource passe à l'état `FINISHED`.

## Réexécution d'objets ayant échoué en cascade
<a name="dp-manage-cascade-rerun"></a>

Par défaut, la réexécution toute activité ou de tout nœud de données réexécute uniquement la ressource associée. Toutefois, en définissant le champ `failureAndRerunMode` sur `cascade` sur un objet de pipeline permet à une commande de réexécution sur un objet cible de se propager sur tous les consommateurs, dans les conditions suivantes : 
+ L'état des consommateurs de l'objet cible est `CASCADE_FAILED`.
+ Les dépendances de l'objet cible n'ont pas de commandes de réexécution en attente.
+ L'état des dépendances de l'objet cible n'est ni `FAILED`, ni `CASCADE_FAILED` ni `CANCELED`.

Si vous tentez de relancer un objet `CASCADE_FAILED` et que l'état de l'une de ses dépendances est `FAILED`, `CASCADE_FAILED` ou `CANCELED`, la réexécution échoue et renvoie l'objet à l'état `CASCADE_FAILED`. Pour réexécuter avec succès un objet en échec, vous devez retracer l'échec jusqu'à la chaîne de dépendance pour localiser la source à l'origine de l'échec et réexécuter cet objet à la place. Lorsque vous émettez une commande de réexécution sur une ressource, vous pouvez également tenter de réexécuter tous les objets qui en dépendent. 

## Défaillance en cascade et remblayages
<a name="dp-manage-cascade-backfills"></a>

Si vous activez les défaillances en cascade et que vous disposez d'un pipeline qui crée de nombreux remplissages, les erreurs d'exécution du pipeline peuvent entraîner la création et la suppression rapides de ressources sans effectuer de travail utile. AWS Data Pipeline tente de vous avertir de cette situation avec le message d'avertissement suivant lorsque vous enregistrez un pipeline : ` {{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. ` cela se produit car une défaillance en cascade peut rapidement définir les activités en aval `CASCADE_FAILED` et arrêter les clusters EMR et les ressources EC2 qui ne sont plus nécessaires. Nous vous recommandons de tester les pipelines avec de courtes plages de temps pour limiter les effets de cette situation. 