Tre transazioni auto-invocate che non stavano facendo nulla

FixDocsService
Spegnimento
4 settembre 2026 alle ore 18:30 UTC
Autore
Kamo
Impegno
9e9f460

@Transactional e @Async sono PROXIES. Una chiamata da dentro lo stesso fagiolo mai raggiunge uno, così tutte e tre queste annotazioni erano inerte. Trovato da audit, non di un fallimento — che è il punto: nessuno di loro ha segnalato nulla. Il peggiore dei tre. Funziona @Modificare bulk delete, che lancia TransactionRequiredException senza un transazione; il chiamante cattura e registra un avviso. Traduzioni così stantie non sono mai stati eliminati, e il sito di carriera servirebbe traduzioni di macchine testo pubblicitario sostituito in 21 locali — la cosa esatta che il metodo esiste per prevenire, in mancanza del modo esatto in cui la traduzione KB è fallita silenziosamente per mesi. Questo incidente è citato nel javadoc del metodo molto repository essendo chiamato qui. 2. CareersRetentionSweep.purgeOne — elimina la riga Img e la riga dell'applicazione, che deve accadere sia o meno. Senza una transazione un fallimento tra loro o fili un curriculum indicando nulla o cadere il file di un richiedente mentre il loro record sopravvive, in un lavoro notturno il cui scopo è onorare una promessa di ritenzione. Entrambi sono ora sui propri fagioli (CareersTranslationWriter, CareersApplicationPurger) raggiunto solo attraverso un riferimento iniettato, che è il modello LegalPackageDeliveryWorker utilizza già qui. 3.****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** reso reale, perché renderlo reale avrebbe introdotto un bug. Invio di posta non è qualcosa che un rollback annulla: una transazione per-organizzazione farebbe un fallimento sul nono abbonato roll indietro l'ultimoNotifiedAt degli otto già e-mail, e la prossima corsa oraria spedirebbe di nuovo tutte le otto. Per abbonato commit — che cosa era effettivamente in esecuzione — è corretto. Il javadoc ora dice così invece di rivendicare una garanzia che non esisteva mai. Corregge anche la nota di replica della classe: ha detto DaemonService corre repliche: 1, ma questa spazzata funziona in DocsService. Scaling QUESTO implementazione double-sends a estranei, e il commento ha indicato al servizio sbagliato per controllare. CarriereInvocazione Prova scansioni il pacchetto per il modello in modo che non può venire Indietro. Plain @Transactional non è volutamente segnalato — la sua propagazione predefinita è REQUIRED, quindi un auto-chiamata nidificata correttamente si unisce alla transazione del chiamante, e le sette tali chiamate qui sono state verificate ciascuno sedersi in un già punto di entrata transazionale.

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