Opriți un Yugabyte repornire citire de la uciderea în tăcere un mesaj de tranzacție

FixEmailService
Expediere
4 septembrie 2026 la 23:55 UTC
Autor
Kamo
Comite
0220d6a

EmailTemplateService.sendToUser este obiectivul din spatele fiecărui serviciu la serviciu e-mail tranzacţional pe platformă, şi a fost @Transacţional peste trei citiri: gindById (org), șablonul de căutare, apoi inițializarea leneș a org Rânduri de domeniu în interiorul rezolvaPrimaryDomain. The ***************** GFlag este oprit pe acest grup, așa că YSQL hărți fiecare nivel de izolare pe instantaneu izolare, și Yugabyte poate absorbi o citire repornire transparent DOAR atunci când citiți este prima declarație a tranzacției sale. Acest domeniu citit este al treilea, așa că o Repornire a ieșit ca 40001 Repornire lectură necesară ( Query strat retry nu este posibil, deoarece acest lucru este nu este prima comandă din tranzacție) şi POST /api/email/templels/trimite răspuns 500 oriunde în metodă și fără niciun motiv vizibil serviciului care a solicitat Poşta. A fost raportat ca "utilizatorii aterizează pe /verificare în kamo-register și nu primesc e-mail până când apăsați Resend," care este de patru hamei departe. Serviciul de securitate trimite adresa-verificare e-mail de la ************* a cărui @Transacţional acoperă rândul simbolic ŞI apelul de ieşire şi registrul Obiectivul s-a conectat doar la defectuos, astfel încât o repornire aici a rulat jetonul înapoi în timp ce site-ul de înregistrare încă redirecționat la /verificare, un ecran care spune Înregistrat un e-mail este pe drum atunci când nu a fost trimis și nu există nici un cod. Retrimite a rulat aceeași lucrare într-o nouă tranzacție și a trecut prin, care este ceea ce a făcut se citeste intermitent. Resetarea parolei, bun venit, notificări de plumb și documente stau La acelaşi apel şi au eşuat la fel. Trimiterea nu deține acum nici o tranzacție, astfel încât fiecare citire este propriul implicit o singură tranzacţie de declaraţie, singura formă Yugabyte restartează gratuit. Cei doi scrie mutarea la EmailTemplateWrites, o fasole SEPARATE deoarece o auto-invocare nu ajunge niciodată la proxy și @Transactional pe o metodă auto-invocată este inert. incrementUsage ruleaza dupa SMTP cu captura in afara propriei limite si este nu retrimise niciodata: un contor esuat raportand 500 pentru un mesaj care a plecat deja out este exact inversarea această cale a suferit atunci când incrementUsage ultima rula fără o tranzacţie. Open-in-view este fixat adevărat mai degrabă decât lăsat la implicit Boot, pentru că leneş sarcina domeniu depinde acum de ea. Nu deține o tranzacție pe logo-ul aduce și trimiterea SMTP este în valoare de a avea pe cont propriu TranzactionalSendRatchetTest nu reuseste daca adnotarea revine. EmailTemplateServiceTest a fost deja roșu înainte de aceasta (un vechi cinci-argument verificaţi împotriva unei trimiteri de şase argumente) şi este din nou verde.

Toate modificările

Ca ceea ce vezi de transport maritim?

Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.

Pornește gratuit pentru totdeaunaVezi prețurile