Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

fix(api): DELETE /sandboxes/{id} returns 500/404 with no structured log — root cause invisible

Offen
#3,529 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
58/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Ruhig
Tech-Stack
go

Rechercherichtung

Beginne beim DeleteSandboxesSandboxID-Handler und untersuche jeden terminalen Fehlerzweig, einschließlich ErrSandboxOperationFailed, des Nicht-gefunden-Pfads und Fehlern von deleteSnapshot. Reproduziere die dokumentierten DELETE-Szenarien und überprüfe anschließend, dass jede Antwort ein strukturiertes Log mit sandbox_id, team_id und dem vollständigen Fehler auf einer angemessenen Ebene erzeugt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Problem

DeleteSandboxesSandboxID can return HTTP 500 or 404 with no structured log entry that explains why, making production incidents hard to diagnose.

500 — ErrSandboxOperationFailed path has no log at all
case errors.Is(err, orchestrator.ErrSandboxOperationFailed):
    a.sendAPIStoreError(c, http.StatusInternalServerError, ...)  // no log, no telemetry
    return

This is the most common 500 cause (node unreachable, gRPC error during kill), yet nothing is written to Loki and no span error is recorded. The only signal is the ALB upstream status code.

404 — logged at Debug level, missing teamID
logger.L().Debug(ctx, "Sandbox not found for deletion", logger.WithSandboxID(sandboxID))

Debug level is suppressed in production by default, so 404 responses leave no queryable trace. There is also no teamID field, preventing per-team filtering.

deleteSnapshot failure message is ambiguous

telemetry.ReportError(ctx, "error deleting sandbox", ...) does not distinguish between a kill failure and a snapshot DB failure.

Impact

  • On-call cannot distinguish node crash (500) from DB error (500) without reading gRPC traces
  • 404 frequency per team is invisible — no Loki query possible
  • Incident response requires guessing which layer failed

Reproduction

Any DELETE /sandboxes/{id} where:

  • The orchestrator node is unreachable → 500 with zero log
  • The sandbox never existed → 404 with zero visible log

Expected behaviour

Each terminal branch emits a structured log at the appropriate level (Error / Info) with sandbox_id, team_id, and the full error field so operators can query Loki directly.

Vorherrschende Sprache
Go
Sterne
1.6k
Forks
448
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Entwicklungsumgebung

In Codespaces öffnen

Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus e2b-dev/runtime

Alle Issues in e2b-dev/runtime

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

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