lablup / lablup/backend.ai

Structure kernel terminate stage with event delivery guarantee

Offen
#11,653 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
670
Forks
183
Ø Merge
21 Std. 49 Min.
Gemergte PRs (30 T.)
404

Beschreibung

Refactor the termination phase (stop_container, cleanup_scratch, release_resources) into a TerminateStageHandler under agent/stage/. RETURNS A RESPONSE ONLY - no event emission. Local phase transitions: -> TERMINATING, TERMINATING -> TERMINATED. Teardown must be idempotent and leave no orphan container.

The Agent does NOT emit a CANCELLED transition - CANCELLED/reschedule belongs to sokovan session scheduling.

Do NOT emit KernelTerminating/TerminatedAnycastEvent from the handler - transitions are reported by the transition-event layer (BA-6851).

Success Criteria:
- [ ] Termination runs through TerminateStageHandler
- [ ] Handler returns a response only (no event emission)
- [ ] No orphan container remains on termination failure (retry or fallback cleanup)
- [ ] pants test passes for affected packages

JIRA Issue: BA-6079

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne in agent/stage/ und lokalisiere den vorhandenen Beendigungsablauf mit stop_container, cleanup_scratch und release_resources. Verfolge die lokalen TERMINATING- und TERMINATED-Übergänge sowie die in BA-6851 referenzierte Übergangsereignisebene. Erledigt bedeutet, dass die Beendigung über TerminateStageHandler läuft, nur eine Antwort zurückgibt, idempotent ist, nach einem Fehler keinen verwaisten Container hinterlässt und die pants-Tests des betroffenen Pakets bestehen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
docker, python
Bereich
backend, distributed-systems
Issue-Typ
Refactoring
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.