- Expediere
- 10 august 2026 la 17:57 UTC
- Autor
- Kamo
- Comite
- 4007c5b
Rutarea unui nou bilet a fugit în interiorul tranzacției de creare, astfel încât orice a lovit a rulat biletul înapoi cu ea și membrul cere ajutor a primit "A eșuat la crearea biletului" cu nimic salvat oriunde. Două lucruri lovit, ambele latent Până când cererile de chat au început să ajungă la acest cod, nu a fost niciodată executat în producție, așa că nu a întâlnit YugabyteDB: - getEligibleAgents măturat fiecare rând aplicat-drepturi în org și filtrate în Java: mii de rânduri s-au alăturat membrilor, rula târziu într-un scris tranzacţie. YugabyteDB poate doar reporni transparent o citire care este prima declarație în tranzacția sa, astfel încât acest ridicat "Restart citit necesar" (SQLstatale 40001). Acum foloseşte căutarea indexată cu filtrul drept care SupportQueeuService și SupportPendCountService sunt deja utilizate. - Un dispozitiv de urmărire nou creat a fost blocat imediat. Pesimistic scris. Entitatea este neversionat, astfel încât este SELECT ... PENTRU UPDATE față de un rând aceeași tranzacție neangajată avea doar introdus; returnează nimic și Hibernate ridică StalObjectStateException. Nimic nu poate lupta pentru un rând care nu există încă Constrângerea pe TPIC ID este ceea ce stabilește o cursă creație. Tractoare existente sunt încă blocate. Structural, rutarea se întâmplă acum în propria tranzacție după ce biletul are angajat (SuportController apelează rutaNewTicket, care se încadrează înapoi la anunță NewTicket în cazul în care nu reușește). Atribuirea este o comoditate; biletul este Lucrul care trebuie să supravieţuiască. Acest lucru oferă, de asemenea, lectura mare a misiunii tranzacție în cazul în care este prima declarație.