Lasciare una finitura di upload in volo invece di morire su un rollout

Fixkamo-internal
Shipped
8 agosto 2026 alle ore 03:40 UTC
Author
kamo
Commit
913da0a

Un allegato di chat 2 GiB ha raggiunto il 100% e poi ha fallito con 'Bad Gateway' perché un schierato atterrato sopra di esso: il pod ha preso SIGTERM alle 03:34:36 e il trasferimento, sette 5 secondi dopo. Due cause. Prossimo gestisce SIGTERM con un processo nudo.exit(143), quindi in-flight richieste morire immediatamente non importa quale periodo di grazia è stabilito; e il periodo di grazia era 5s Comunque. Entrambi erano innocui quando le richieste duravano millisecondi. Ora un singolo allegato può occupare una connessione per minuti mentre questo cluster si distribuisce su ogni spinta, quindi qualsiasi spinta corrente distrugge un upload. SIGTERM ora drena: smettere di accettare nuove connessioni, goccia idle manutenzioni subito così il pod lascia immediatamente la rotazione, e lascia terminare le richieste di esecuzione. Il gestore del prossimo è intercettato piuttosto che semplicemente superato, perché un'uscita() all'interno di qualsiasi ascoltatore vince bene. Una capsula con nulla in volo esce ancora in circa un secondo, quindi ordinario i rollout sono invariati; solo un baccello con lavoro reale per terminare le attese, tappato a 600s sotto un periodo di grazia 660s e una scadenza di progresso 900s che corrisponde al timeout distribuire il flusso di lavoro già aspetta.

All changes

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo