Interrompere una email di benvenuto non riuscita da distruggere il membro

FixSecurityService
Spegnimento
3 settembre 2026 alle ore 01:04 UTC
Autore
Kamo
Impegno
7a2aa09

MemberCreationService ha documentato i passi 4-6 come miglior sforzo, e per le e-mail non era vero. sendVerificationEmail è @Transactional, quindi è entrato nel membro- transazione di creazione; quando EmailService ha risposto a 500 l'eccezione che lo sfugge ha segnato solo quel rollback di transazione. La prova/catch ha nascosto l'errore ma non può cancellare la bandiera, così il commit ha lanciato UnexpectedRollbackException, il membro che era stato creato in pieno è stato scartato, e l'amministratore ha ottenuto un nudo " Server interno Errore" con nulla nel registro ma un avviso che legge come un passo opzionale fallire. Ogni organizzazione ha perso "Add Member" per tutto il tempo che il percorso di posta era down — che è il modo in cui una regressione EmailService una linea è diventata un'estrazione totale creazione membro piuttosto che due avvertimenti. Entrambi gli invii ora funzionano da AfterCommit, oltre il punto in cui un fallimento ha nulla sinistra per avvelenare, in MemberCreationEmailNotifier. Questo è un fagiolo separato perché la propagazione deve raggiungere un proxy: un callback commit ha ancora commesso transazione legata al thread, così semplice REQUIRED parteciperebbe a un transazione La primavera non commette mai più e il token di verifica sarebbe scartato silenziosamente. Una transazione REQUIRES NEW per l'invio, entità riletto da id perché il chiamante è staccato da allora, e ogni inviare catturato dal chiamante — al di fuori del limite di transazione, l'unico posto in cui una cattura fa quello che sembra Come fa.

Tutte le modifiche

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