Gründe für Fehler beim Ausführen - AWS HealthOmics

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Gründe für Fehler beim Ausführen

Wenn ein Lauf fehlschlägt, verwenden Sie den GetRunAPI-Vorgang, um den Grund für den Fehler abzurufen.

Überprüfen Sie den Grund für den Fehler, um herauszufinden, warum der Lauf fehlgeschlagen ist. In der folgenden Tabelle sind die einzelnen Fehlerursachen zusammen mit einer Beschreibung des Fehlers aufgeführt.

Failure reason (Fehlerursache) Fehlerbeschreibung

ASSUME_ROLE_FAILED

HealthOmics hat keine Erlaubnis, die Rolle zu übernehmen. Geben Sie den HealthOmics Prinzipal in der Vertrauensstellung für die Rolle an.

CONTAINER_ERROR KANN NICHT GESTARTET WERDEN

Workflow-Aufgabe:, ID: Container mit Bild: konnte nicht gestartet name werden. ID image name Stellen Sie sicher, dass das Bild gültig ist, und versuchen Sie es erneut.

CANNOT_START_CONTAINER_SIZE_ERROR

Workflow-Aufgabe:, ID: Container mit Bild: konnte nicht gestartet werden. name ID image name Stellen Sie sicher, dass die Bildgröße weniger als 25 GB beträgt, und versuchen Sie es erneut.

ECR_PERMISSION_ERROR

HealthOmics hat keine Berechtigung, auf die Bild-URI zuzugreifen.

Vergewissern Sie sich, dass das private Amazon ECR-Repository existiert und dem HealthOmics Service Principal Zugriff gewährt wurde.

EXPORT_FAILED

Der Export ist fehlgeschlagen. Stellen Sie sicher, dass der Ausgabe-Bucket vorhanden ist und dass die Run-Rolle über Schreibberechtigungen für den Bucket verfügt.

FILE_SYSTEM_OUT_OF_SPACE

Das Dateisystem hat nicht genug Speicherplatz. Erhöhen Sie die Größe des Dateisystems und führen Sie es erneut aus.

IMAGE_VERIFICATION_FAILURE

Das Bild konnte nicht verifiziert werden. image name Um das Problem zu beheben, versuchen Sie, das Bild abzurufen und es dann erneut in Ihr ECR-Repository zu übertragen.

IMPORT_FAILED

Der Import ist fehlgeschlagen. Vergewissern Sie sich, dass die Eingabedatei vorhanden ist und dass die Ausführungsrolle auf die Eingabe zugreifen kann.

INACTIVE_OMICS_STORAGE_RESOURCE

Die Speicher-URI befindet sich nicht im Status ACTIVE. HealthOmics Aktivieren Sie das Leseset und versuchen Sie es erneut. Weitere Informationen zur Aktivierung von Lesesätzen finden Sie unterAktivierung von Readsets in HealthOmics.

INPUT_URI_NOT_FOUND Die angegebene URI existiert nicht:. uri Überprüfen Sie, ob der URI-Pfad existiert, und stellen Sie sicher, dass die Rolle auf das Objekt zugreifen kann.

INSTANCE_RESERVATION_FAILED

Die Instanzkapazität reicht nicht aus, um den Workflow-Lauf abzuschließen. Warten Sie und versuchen Sie erneut, den Workflow auszuführen.

UNGÜLTIGER_ECR_IMAGE_URI

Die Amazon ECR-Image-URI-Struktur ist nicht gültig. Geben Sie eine gültige URI ein und versuchen Sie es erneut.

INVALID_TASK_RESOURCE_VALUE

Die angeforderte GPU, CPU oder Arbeitsspeicher ist entweder zu hoch für die verfügbare Rechenkapazität oder sie unterschreitet den Mindestwert von 1 für die Aufgabe. ID

INVALID_URI_INPUT

Die URI-Struktur ist nicht gültig. uri Überprüfen Sie die URI-Struktur und versuchen Sie es erneut.
MODIFIED_INPUT_RESOURCE

Der angegebene URI uri wurde nach dem Start des Laufs geändert. Versuchen Sie den Lauf erneut.

OUT_OF_MEMORY_ERROR

Für die Workflow-Aufgabe ist nicht genügend Arbeitsspeicher verfügbar. ID Erhöhen Sie den Speicherwert in der Workflow-Definition und versuchen Sie die Ausführung erneut.

RUN_TASK_FAILED

Die Ausführung ist fehlgeschlagen, weil die Aufgabe fehlgeschlagen ist. Verwenden Sie den GetRunTaskAPI-Vorgang und den Amazon CloudWatch Logs-Stream, um den Aufgabenfehler zu debuggen.

RUN_TIMED_OUT

Timeout nach Minuten ausführen. number

SERVICE_ERROR Im Dienst ist ein vorübergehender Fehler aufgetreten. Versuchen Sie erneut, den Workflow auszuführen.

UNSUPPORTED_INPUT_SIZE

Die Gesamtgröße der Eingabe ist zu hoch. Verringern Sie die Eingabegröße und versuchen Sie es erneut.

WORKFLOW_RUN_FAILED

Die Workflow-Ausführung ist fehlgeschlagen. Überprüfen Sie den CloudWatch Logstream der Log-Engine:ID, um den Fehler zu debuggen.

WORKFLOW_VER_VALIDATION_FAILED

HealthOmics unterstützt die angeforderte Nextflow-Version nicht: --. version Die neueste unterstützte Version istversion. Ändern Sie Ihre Nextflow-Version auf eine unterstützte Version und versuchen Sie es erneut.

UNSUPPORTED_GPU_INSTANCE_TYPE

Der angeforderte Instanztyp wird in nicht unterstützt. Region Versuchen Sie den Lauf erneut mit einem GPU-Instanztyp, der in dieser Region unterstützt wird. Verfügbare Instanztypen sindGPU instance types.

Hinweise für nicht reagierende Läufe

Bei der Entwicklung neuer Workflows kann es vorkommen, dass Läufe oder bestimmte Aufgaben „hängen bleiben“ oder „hängen“, wenn es Probleme mit Ihrem Code gibt und Aufgaben Prozesse nicht ordnungsgemäß beenden können. Dies kann schwierig sein, Fehler zu beheben und catch, da es normal ist, dass Aufgaben über einen längeren Zeitraum ausgeführt werden. Folgen Sie den empfohlenen bewährten Methoden in den folgenden Abschnitten, um nicht reagierende Ausführungen zu verhindern und zu identifizieren.

Bewährte Methoden zur Vermeidung nicht reagierender Läufe

  • Stellen Sie sicher, dass Sie alle in Ihrem Aufgabencode geöffneten Dateien schließen. Das Öffnen zu vieler Dateien kann gelegentlich zu Threading-Problemen innerhalb der Workflow-Engines führen.

  • Hintergrundprozesse, die durch eine Workflow-Aufgabe erstellt wurden, sollten beendet werden, wenn die Aufgabe beendet wird. Wenn ein Hintergrundprozess jedoch nicht ordnungsgemäß beendet wird, müssen Sie diesen Prozess in Ihrem Aufgabencode explizit beenden.

  • Stellen Sie sicher, dass Ihre Prozesse nicht wiederholt werden, ohne sie zu beenden. Dies kann dazu führen, dass die Ausführung nicht reagiert, und zur Behebung des Problems ist eine Änderung Ihres Workflow-Definitionscodes erforderlich.

  • Stellen Sie eine angemessene Speicher- und CPU-Zuweisung für Ihre Aufgaben bereit. Analysieren Sie die CloudWatch Protokolle oder verwenden Sie die Führen Sie Analyzer aus Daten der erfolgreich abgeschlossenen Läufe Ihres Workflows, um sicherzustellen, dass Sie über eine optimale Rechenzuweisung verfügen. Verwenden Sie den Run headroom Analyzer-Parameter, um zusätzlichen Spielraum einzubeziehen und sicherzustellen, dass die Prozesse über ausreichende Ressourcen verfügen, um sie abzuschließen. Rechnen Sie mindestens 5% des zugewiesenen Speichers und der CPU mit ein, um Hintergrundprozesse im Betriebssystem zu berücksichtigen.

    • Erhöhen Sie außerdem die Größe der Instance-Bandbreite, wenn die Instance einen höheren Durchsatz benötigt. Bei EC2 Amazon-Instances mit weniger als 16 v CPUs (Größe 4xl und kleiner) kann es zu Durchsatzspitzen kommen. Weitere Informationen zum EC2 Amazon-Instance-Durchsatz finden Sie unter EC2 Verfügbare Instance-Bandbreite von Amazon.

  • Stellen Sie sicher, dass Sie die richtige Dateisystemgröße für Ihre Läufe verwenden. Bei nicht reagierenden Läufen, die statischen Laufspeicher verwenden, sollten Sie erwägen, die Speicherzuweisung für statische Durchläufe zu erhöhen, um einen höheren I/O-Durchsatz und eine höhere Speicherkapazität im Dateisystem zu ermöglichen. Analysieren Sie das Ausführungsmanifest, um den maximalen Speicherplatz im Dateisystem zu ermitteln, und ermitteln Sie mit dem Run Analyzer, ob die Dateisystemzuweisung erhöht werden muss.

Bewährte Methoden zur Erkennung nicht reagierender Läufe

  • Verwenden Sie bei der Entwicklung neuer Workflows eine Ausführungsgruppe, bei der das maximale Laufzeitlimit festgelegt ist, um außer Kontrolle geratenen Code abzufangen. Wenn ein Lauf beispielsweise 1 Stunde dauern sollte, ordnen Sie ihn einer Ausführungsgruppe zu, bei der nach 2 oder 3 Stunden (oder einem anderen Zeitraum, je nach Anwendungsfall) ein Timeout auftritt, um ungenutzte Jobs abzufangen. Wenden Sie außerdem einen Puffer an, um Abweichungen bei den Verarbeitungszeiten zu berücksichtigen.

  • Richten Sie eine Reihe von Ausführungsgruppen mit unterschiedlichen maximalen Laufzeitlimits ein. Sie könnten beispielsweise einer Ausführungsgruppe, die die Läufe nach einigen Stunden beendet, kurze Läufe zuweisen, und einer Gruppe mit langen Ausführungen, die Läufe nach einigen Tagen beenden, basierend auf Ihrer erwarteten Workflow-Dauer.

  • HealthOmics hat ein standardmäßiges Service-Limit für die maximale Ausführungsdauer von 604.800 Sekunden oder 7 Tagen, das durch eine Anfrage im Quotas-Tool angepasst werden kann. Fordern Sie eine Erhöhung des Servicelimits für dieses Kontingent nur an, wenn Sie Läufe mit einer Dauer von etwa einer Woche haben. Wenn Sie eine Mischung aus kurzen und langen Läufen haben und keine Ausführungsgruppen verwenden, sollten Sie erwägen, die Läufe mit langer Laufzeit in einem separaten Konto mit einem höheren Dienstlimit für die maximale Ausführungsdauer abzulegen.

  • Suchen Sie in den CloudWatch Protokollen nach Aufgaben, von denen Sie vermuten, dass sie nicht reagieren. Wenn eine Aufgabe normalerweise reguläre Protokollanweisungen ausgibt und dies über einen längeren Zeitraum nicht getan hat, ist die Aufgabe wahrscheinlich hängen geblieben oder eingefroren.

Was tun, wenn eine Ausführung nicht reagiert

  • Stornieren Sie den Lauf, um zusätzliche Kosten zu vermeiden.

  • Prüfen Sie in den Task-Protokollen, ob Prozesse nicht korrekt beendet werden konnten.

  • Untersuchen Sie die Motorprotokolle, um abnormales Motorverhalten zu identifizieren.

  • Vergleichen Sie die Aufgaben- und Engine-Protokolle des nicht reagierenden Laufs mit denen identischer, erfolgreich abgeschlossener Läufe. Auf diese Weise können Sie alle Unterschiede ermitteln, die möglicherweise zu dem nicht reagierenden Verhalten geführt haben.

  • Wenn Sie nicht in der Lage sind, die Ursache zu ermitteln, melden Sie eine Support-Anfrage und fügen Sie Folgendes hinzu:

    • ARN des festgefahrenen Laufs und ARN eines identischen Laufs, der erfolgreich abgeschlossen wurde.

    • Engine-Protokolle (verfügbar, sobald der Lauf abgebrochen wurde oder fehlschlägt)

    • Task-Logs für die Aufgabe, die nicht reagiert hat. Zur Fehlerbehebung benötigen wir nicht für alle Aufgaben im Workflow Aufgabenprotokolle.