- Verschifft
- 4. September 2026 um 23:45 UTC
- Autor
- Kamo
- Ausschuss
- 37c5494
Das Öffnen eines Terminals scheitert etwa die Hälfte der Zeit mit "Der Server verweigert die Terminal-Verbindung. Ihr Ticket kann abgelaufen sein", und das Protokoll sagt: Terminal Handshake verweigert: kein gültiges Ticket Beide Terminal-Hand-offs wurden in einer ConcurrentHashMap in einer Pod gehalten, und Beide sind in zwei unabhängige Gespräche gespalten, die nicht zusammen landen: - der TICKET wird von POST **************** geprägt, dem Browser sendet an kamo-interne und kamo-interne Proxies weiter von einem von ITS-Pods - und wird von einem WebSocket Handshake eingelöst der Browser öffnet sich gerade am Rand auf /desktop-ws; und von der Ticket-Anfrage, die es folgt gesammelt. Diese kommen über verschiedene Verbindungen aus verschiedenen Quellen, so dass keine Sitzung Affinität kann sie zusammenbinden: Eine Client-IP-Regel würde Kamo-interne Schote sehen für das eine und den Browser des Mitglieds für den anderen. Der Staat muss geteilt werden. Dies war latent für so lange wie der Dienst lief ein Pod, und beide Register argumentiert in ihren eigenen Kommentaren, dass in-Gedelung war der richtige Speicher - die es war. "Replicas" wurde 2 in 4bd25e7, aber diese Verpflichtung brach auch den Kontext, so nein Zweite pod jemals gestartet und der Zwei-Pod-Stadation wurde nie wirklich erreicht. Die Behebung des Starts machte es real und dies tauchte sofort auf. Also: ein schmaler TerminalHandoffStore über Redis, der dieser Service schon jetzt verlangt (@EnableRedisHttpSession startet nicht ohne sie). Einweg-Aufenthalte atomic - GETDEL in einer Operation, denn ein get-then-löscht lässt zwei Handshakes Rennen auf einem Ticket beide gewinnen, und ein wiederspielbares Ticket sitzt in der Browser-Historie. Es gibt absichtlich keine In-Gedächtnungs-Füllbocke: eine, die leise abgebaut zu pro-pod Zustand würde diesen Ausfall reproduzieren und ihn wie Flakiness aussehen lassen. Zwei Dinge kamen daher, weil sie der gleiche Defekt in der gleichen Klasse sind: - Das pro-Mitglieder-Terminal CAP zählte pro Pod, so dass ein Mitglied zweimal halten konnte die Grenze von acht PTYs und tmux-Clients auf einer gemeinsamen VM, die genommen wurde durch Gedächtnisdruck vor. Der Zähler wird jetzt geteilt, aktualisiert seine TTL bei jeder Veränderung, so dass eine verwaiste Zählung verfällt, anstatt jemanden auszusperren, und klemmt bei Null, so dass eine Dekrement-Exving seine Inkrement kann keine Kopffreiheit kaufen. - Die Versandregistrierung hatte den gleichen Fehler und einen QUIETER Ausfall: ein Leer Ergebnis ist die gewöhnliche Antwort dort (fast jedes Terminal ist ein Jemand öffnete sich für sich selbst), so dass ein verlorenes Hand-off nichts verweigerte - es öffnete eine Ebene Sieben neue Tests buchstabieren "zwei Hülsen, ein Geschäft" durch die gemeinsame Nutzung eines Ladens zwischen zwei Registrierungsinstanzen: ein Ticket, das auf dem einen geprägt wird, löst sich auf der anderen ein, wird dann ausgegeben überall, trägt seine Hand-off über, und die Kappe und seine Freigabe werden von gesehen beides. Verifiziert in einem isolierten Arbeitsbaum - 2137 Tests, 0 Ausfälle - weil die gemeinsame Arbeitsbaum hält derzeit eine weitere Sitzung an Bord Arbeit. Das Arbeitsgebiet benötigte eine nicht zusammenhängende Haupt-Quelle-Fixierung überhaupt zu kompilieren: eine Shared-Bibliothek enum gewonnen PROGRESSIVE_LOGIN_LOCKOUT, die VerdächtigeDetectionService macht Erschöpfender Schalter nicht erschöpfend, so dass der Ursprung/Hauptlauf derzeit nicht gebaut wird. Das fix ist nicht in diesem Commit und ist nicht von mir; dies wird nicht eingesetzt, bis es landet.