Raisons d'échec de l'exécution - AWS HealthOmics

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.

Raisons d'échec de l'exécution

Si une exécution échoue, utilisez l'opération GetRunAPI pour récupérer la raison de l'échec.

Passez en revue la raison de l'échec pour vous aider à résoudre les problèmes liés à l'échec de l'exécution. Le tableau suivant répertorie chaque cause de défaillance ainsi qu'une description de l'erreur.

Motif de l'échec Description de l'erreur.

ÉCHEC DE LA PRISE DE RÔLE

HealthOmics n'est pas autorisé à assumer le rôle. Spécifiez le HealthOmics principal dans la relation de confiance pour le rôle.

IMPOSSIBLE DE DÉMARRER UNE ERREUR DE CONTENEUR

Impossible de démarrer la tâche de flux de travail :name, id : ID container à l'aide de l'image :image name. Vérifiez que l'image est valide et réessayez.

IMPOSSIBLE DE DÉMARRER UNE ERREUR DE TAILLE DU CONTENEUR

Impossible de démarrer la tâche de flux de travail :name, id : ID container à l'aide de l'image :image name. Assurez-vous que la taille de l'image est inférieure à 25 Go et réessayez.

ECR_PERMISSION_ERROR

HealthOmics n'est pas autorisé à accéder à l'URI de l'image.

Vérifiez que le référentiel privé Amazon ECR existe et qu'il a accordé l'accès au principal du HealthOmics service.

ECHEC DE L'EXPORTATION

L'exportation a échoué. Vérifiez que le compartiment de sortie existe et que le rôle d'exécution dispose d'une autorisation d'écriture sur le compartiment.

SYSTÈME DE FICHIERS OUT_OF_SPACE

Le système de fichiers ne dispose pas de suffisamment d'espace. Augmentez la taille du système de fichiers et réexécutez.

ÉCHEC DE LA VÉRIFICATION DE L'IMAGE

Impossible de vérifier l'imageimage name. Pour corriger le problème, essayez d'extraire l'image, puis de la transférer à nouveau vers votre référentiel ECR.

ECHEC DE L'IMPORTATION

L'importation a échoué. Vérifiez que le fichier d'entrée existe et que le rôle d'exécution peut accéder à l'entrée.

RESOURCE_DE STOCKAGE INACTIVE_OMICS

L'URI HealthOmics de stockage n'est pas à l'état ACTIF. Activez le kit de lecture et réessayez. Pour en savoir plus sur l'activation des ensembles de lecture, consultezL'activation de la lecture s'installe dans HealthOmics.

INPUT_URI_NOT_FOUND L'URI fourni n'existe pas :uri. Vérifiez que le chemin de l'URI existe et que le rôle peut accéder à l'objet.

INSTANCE_RESERVATION_ECHEC

La capacité d'instance est insuffisante pour terminer l'exécution du flux de travail. Patientez et réessayez d'exécuter le flux de travail.

URI_ECR_IMAGE_URI INVALIDE

La structure d'URI de l'image Amazon ECR n'est pas valide. Entrez un URI valide et réessayez.

VALEUR_RESSOURCE DE TÂCHE INVALIDE

Le GPU, le processeur ou la mémoire requis est soit trop élevé par rapport à la capacité de calcul disponible, soit inférieur à la valeur minimale de 1 pour la tâcheID.

INPUT_URI_INPUT INVALIDE

La structure de l'URI n'est pas valideuri. Vérifiez la structure de l'URI et réessayez.
RESSOURCE_ENTRÉE_MODIFIÉE

L'URI fourni uri a été modifié après le début de l'exécution. Réessayez de courir.

ERREUR DE SORTIE DE MÉMOIRE

La mémoire de la tâche ID de flux de travail était insuffisante. Augmentez la valeur de mémoire dans la définition du flux de travail et réessayez l'exécution.

ÉCHEC DE L'EXÉCUTION DE LA TÂCHE

L'exécution a échoué car la tâche a échoué. Pour corriger l'échec de la tâche, utilisez l'opération GetRunTaskAPI et le flux Amazon CloudWatch Logs.

RUN_TIMED_OUT

Expiration du délai d'exécution après number quelques minutes.

ERREUR DE SERVICE Une erreur temporaire s'est produite dans le service. Réessayez d'exécuter le flux de travail.
DÉLAI D'EXPIRATION DE LA TÂCHE La tâche id a expiré au bout de number quelques secondes.

TAILLE D'ENTRÉE_ENTRÉE NON PRISE EN CHARGE

La taille d'entrée totale est trop élevée. Diminuez la taille de saisie et réessayez.

WORKFLOW_RUN_FAILED

L'exécution du flux de travail a échoué. Consultez le flux de journal du moteur CloudWatch Logs : ID pour corriger la panne.

ÉCHEC DU WORKFLOW_VER_VALIDATION_FAILED

HealthOmics ne prend pas en charge la version de Nextflow demandée : version --. La dernière version prise en charge estversion. Modifiez votre version de Nextflow pour une version compatible et réessayez.

TYPE_INSTANCE_GPU NON PRIS EN CHARGE

Le type d'instance demandé n'est pas pris en charge dansRegion. Réessayez l'exécution avec un type d'instance de GPU pris en charge dans cette région. Les types d'instances disponibles sontGPU instance types.

Conseils pour les essais qui ne répondent pas

Lorsque vous développez de nouveaux flux de travail, des exécutions ou des tâches spécifiques peuvent être « bloquées » ou « bloquées » en cas de problème avec votre code, et les tâches ne parviennent pas à quitter correctement les processus. Cela peut être difficile à résoudre et à attraper, car il est normal que les tâches s'exécutent pendant de longues périodes. Pour éviter et identifier les exécutions qui ne répondent pas, suivez les meilleures pratiques suggérées dans les sections suivantes.

Bonnes pratiques pour éviter les essais sans réponse

  • Assurez-vous de fermer tous les fichiers ouverts dans votre code de tâche. L'ouverture d'un trop grand nombre de fichiers peut parfois entraîner des problèmes de thread dans les moteurs de flux de travail.

  • Les processus d'arrière-plan créés par une tâche de flux de travail doivent se terminer à la fin de la tâche. Toutefois, si un processus en arrière-plan ne se termine pas correctement, vous devez l'arrêter explicitement dans votre code de tâche.

  • Assurez-vous que vos processus ne s'exécutent pas en boucle sans sortir. Cela peut entraîner une absence de réponse et nécessite une modification du code de définition de votre flux de travail pour y remédier.

  • Fournissez une allocation de mémoire et de processeur appropriée à vos tâches. Analysez les CloudWatch journaux ou utilisez les Exécuter l'analyseur exécutions réussies de votre flux de travail pour vérifier que vous disposez d'une allocation de calcul optimale. Utilisez le headroom paramètre Run Analyzer pour inclure une marge de manœuvre supplémentaire, afin de garantir que les processus disposent de suffisamment de ressources pour être menés à bien. Incluez au moins 5 % d'espace libre dans la mémoire et le processeur alloués, afin de tenir compte des processus du système d'exploitation en arrière-plan.

    • En outre, augmentez la taille de bande passante de l'instance si celle-ci nécessite un débit plus élevé. EC2 Les instances Amazon de moins de 16 V CPUs (taille 4xl ou inférieure) peuvent connaître des pics de débit. Pour plus d'informations sur le débit des EC2 instances Amazon, consultez la section Bande passante d'instance EC2 disponible sur Amazon.

  • Assurez-vous d'utiliser la bonne taille de système de fichiers pour vos exécutions. Pour les exécutions qui ne répondent pas et qui utilisent le stockage statique, envisagez d'augmenter l'allocation de stockage pour les exécutions statiques afin d'augmenter le débit d'E/S et la capacité de stockage du système de fichiers. Analysez le manifeste d'exécution pour connaître le stockage maximal du système de fichiers, utilisez l'analyseur d'exécution pour déterminer si l'allocation du système de fichiers doit être augmentée.

Meilleures pratiques pour détecter les courses qui ne répondent pas

  • Lorsque vous développez de nouveaux flux de travail, utilisez un groupe d'exécution dont la durée d'exécution maximale est définie pour intercepter le code en fuite. Par exemple, si une exécution doit prendre 1 heure, placez-la dans un groupe d'exécutions qui expire au bout de 2 ou 3 heures (ou d'une période différente en fonction de votre cas d'utilisation) afin de détecter les tâches en cours d'exécution. Appliquez également une zone tampon pour tenir compte de la variation des délais de traitement.

  • Configurez une série de groupes d'exécution avec différentes limites d'exécution maximales. Par exemple, vous pouvez attribuer des séries courtes à un groupe d'exécution qui met fin aux séries au bout de quelques heures, et à un groupe de séries longues qui met fin aux séries après quelques jours, en fonction de la durée prévue de votre flux de travail.

  • HealthOmics a une limite de service de durée d'exécution maximale par défaut de 604 800 secondes, soit 7 jours, qui est ajustable par le biais d'une demande dans l'outil de quotas. Ne demandez une augmentation de la limite de service de ce quota que si vous avez des courses d'une durée d'environ une semaine. Si vous utilisez à la fois des séries courtes et longues et que vous n'utilisez pas de groupes de courses, envisagez de placer les séries de longue durée dans un compte distinct avec une limite de service de durée maximale d'exécution plus élevée.

  • Examinez les CloudWatch journaux pour détecter les tâches susceptibles de ne pas répondre. Si une tâche produit normalement des instructions de journal régulières et qu'elle ne le fait pas depuis longtemps, elle est probablement bloquée ou bloquée.

Que faire si vous constatez une course qui ne répond pas

  • Annulez la course pour éviter d'encourir des frais supplémentaires.

  • Consultez les journaux des tâches pour vérifier si certains processus n'ont pas réussi à se fermer correctement.

  • Inspectez les journaux du moteur pour identifier tout comportement anormal du moteur.

  • Comparez les journaux des tâches et du moteur de l'exécution sans réponse à ceux des exécutions identiques terminées avec succès. Cela peut aider à identifier les différences susceptibles d'être à l'origine du comportement de non-réponse.

  • Si vous ne parvenez pas à déterminer la cause première, soumettez un dossier d'assistance et incluez les éléments suivants :

    • ARN de l'exécution bloquée et ARN d'une exécution identique qui s'est terminée avec succès.

    • Journaux du moteur (disponibles une fois que l'exécution a été annulée ou échoue)

    • Journaux de tâches pour la tâche qui ne répond pas. Nous n'avons pas besoin de journaux de tâches pour toutes les tâches du flux de travail à des fins de dépannage.