kisenon

Fehlerbehebung

Häufige Fehlermodi der Alpha-Ära und wie man sich erholt.

Kisenon ist in der Alpha. Hier sind die Fehlermodi, auf die Sie am ehesten stoßen, und wie Sie an jedem vorbeikommen.

Endpoint hängt in Pending fest

Symptom: Ein Endpoint sitzt bei der Erstellung mehr als ein paar Sekunden in Pending. Die Konsole zeigt keinen Fehler; die CLI zeigt denselben Zustand.

Wahrscheinliche Ursache: Der Compute-Pod kann nicht eingeplant werden. Die häufigsten Gründe sind Cluster-Druck (kein Node hat die angeforderte CPU oder den angeforderten Speicher frei) oder eine veraltete Image-Pull-Anmeldeinformation. Beides sind operatorseitige Probleme.

Was zu tun ist:

  1. Warten Sie 60 Sekunden. Vorübergehender Druck klärt sich normalerweise, sobald ein anderer Endpoint suspendiert.
  2. Wenn er sich nicht klärt, löschen Sie den Endpoint und erstellen Sie ihn neu. Die Control Plane wird die Einplanung auf einem anderen Node erneut versuchen.
  3. Wenn die Neuerstellung ebenfalls in Pending landet, ist der Cluster unglücklich. Melden Sie einen Bericht im GitHub-Tracker mit der Endpoint-ID und der Wanduhrzeit.

FATAL: endpoint unavailable bei der ersten Verbindung

Symptom: psql gibt FATAL: endpoint unavailable bei der allerersten Verbindung zu einem frisch erstellten Endpoint zurück, oder nach einer langen Leerlaufzeit.

Wahrscheinliche Ursache: Cold-Start-Race. Der Endpoint-Zustand ist Stopped, Ihr Paket hat ihn geweckt, aber Postgres spielt noch WAL bis zum Branch-HEAD ab, wenn Ihr Client aufgibt.

Was zu tun ist: Wiederholen Sie die Verbindung. Cold-Start schließt typischerweise in 300–500 ms ab, aber das allererste Aufwachen eines frisch erstellten Projekts, oder nach einer 24-h+-Leerlaufzeit, kann 10–30 Sekunden dauern, während der Pageserver- Page-Cache sich aufwärmt. Die meisten Treiber tolerieren dies, wenn Sie mindestens einen Wiederholungsversuch zulassen; rohes psql wiederholt standardmäßig nicht.

# psql with one explicit retry
for i in 1 2; do psql "$URI" -c '\q' && break; sleep 5; done

Wenn der Endpoint nach 30 Sekunden immer noch nicht verfügbar ist, kann der Pod selbst fehlgeschlagen sein — prüfen Sie den Zustand in der Konsole und konsultieren Sie die Pending-Anleitung oben.

keon connection-string gibt branch_not_found zurück

Symptom:

$ keon connection-string my-feature --project prj_abc...
Error: branch_not_found: my-feature

…aber der Branch existiert in der Konsole.

Wahrscheinliche Ursache: Der Name passt nicht zu einem Branch im Projekt, das Sie angesprochen haben — meist ein Tippfehler oder das falsche --project. Die CLI löst einen Branch per ID oder per Name auf, egal ob Sie ihn als positionales Argument oder via --branch übergeben, sodass ein Name, der existiert, in jedem Fall aufgelöst wird.

Was zu tun ist: Bestätigen Sie den Branch-Namen und das Projekt:

keon branches list --project prj_abc...
keon connection-string my-feature --project prj_abc...

Anmeldung gibt access_denied zurück

Symptom: Google- oder GitHub-OAuth schließt ab, aber die Konsole leitet zu einer Fehlerseite um, die access_denied zitiert.

Wahrscheinliche Ursache: Während der Alpha ist die Anmeldung durch eine E-Mail- Zulassungsliste gesperrt. Wenn Ihre Adresse nicht onboarded wurde, lehnt der Sign-in- Callback sie grundsätzlich ab.

Was zu tun ist: Bewerben Sie sich unter Alpha-Zugang. Sobald Ihre Adresse zur Zulassungsliste hinzugefügt wurde, schließt die Anmeldung beim nächsten Versuch normal ab.

Konsolen-Session läuft mitten in der Sitzung ab

Symptom: Die Konsole funktioniert eine Weile, gibt dann plötzlich 401s bei jedem API-Aufruf zurück, bis Sie sich ab- und wieder anmelden.

Wahrscheinliche Ursache: Das cp-signierte JWT ist abgelaufen, und sein Aktualisierungsfenster ist abgelaufen. Die Konsole erzeugt ein kurzlebiges JWT (≈15 Minuten) und aktualisiert es, während Sie aktiv sind, im Hintergrund gegen /v1/auth/refresh. Das Aktualisierungsfenster ist fest auf 12 Stunden ab Anmeldung gesetzt: Eine aktive Session erneuert sich unbefristet, aber ein unberührt gelassener Tab kann über dieses Fenster hinaus nicht mehr aktualisieren.

Was zu tun ist: Melden Sie sich ab und wieder an. Für headless oder langlaufende Automatisierung verwenden Sie einen nsk_-API-Schlüssel statt einer Browser-Session — API- Schlüssel laufen nicht ab und werden explizit widerrufen. Siehe Auth.

Wo Bugs zu melden sind

Für alles, was hier nicht abgedeckt ist:

  • Produkt-Bugs und Feature-Anfragen: der GitHub-Tracker.
  • Sicherheitsschwachstellen: Sicherheit — niemals im öffentlichen Tracker.

Konkrete Reproduktionsschritte, die betroffenen IDs (Projekt, Branch, Endpoint) und ein Wanduhr-Zeitstempel verkürzen den Hin-und-Rück-Weg dramatisch.