- Shipped
- 8 settembre 2026 alle ore 00:23 UTC
- Author
- Kamo
- Commit
- ee2981d
Il relè abbonato una volta, da @PostConstruct, e mai più. Quando VOIPService voip.> flusso non esisteva — che non esisteva — entrambe le repliche hanno registrato esattamente uno riga ogni e poi relayed nulla, mai: [VoipRelay] Non è possibile iscriversi a voip.> soggetto: [SUB-90007] Nessun flusso corrispondente per soggetto. Nessun testo dal vivo, nessun distintivo non letto, nessun evento di chiamata, nessuna segreteria telefonica, nessuna spinta mobile, su un pod che altrimenti sembrava perfettamente sano. Creare il flusso risolve la causa ma non quei baccelli: avevano già fatto il loro unico tentativo. Anche l'ordinazione non è fissabile. VOIPService crea il flusso quando VOIPService stivali; MediaService si iscrive quando MediaService si avvia. Niente sequenze due distribuzioni, quindi "il flusso esiste al momento dell'avvio del relè" è un flip di moneta ogni cluster riavvia. Il relè deve tollerare il flusso non essendo ancora lì. assicurareSubscribed() è ora idempotent e ci sono tre porte in esso: l'originale @PostConstruct, una riprovazione di 30s durante il rimbalzo, e — quello che conta — un membro sottoscrivendo a /topic/voip/*, il che significa che una persona reale è seduto davanti a un SMS finestra in attesa di cornici questo pod non sta ricevendo. isRelayBound() chiede se l'abbonamento sia ACTIVE, non se l'iscrizione() ritornato. Un consumatore effimero viene prelevato dopo la sua inattivitàTreshold, e una capsula tenere una maniglia a un consumatore NATS ha dimenticato gli sguardi abbonati e riceve nulla — lo stesso silenzio di non aver mai abbonato, con nessuna delle prove. Anche quel caso si ricollega. Il primo log di guasto a ERROR e dice ciò che è inerte a causa di esso; il registro di ripetizione a debug, quindi un flusso che non esiste ancora non riempie il registro ogni 30 secondi.