tipload-test+bugfix
sto_je_testirano[
"20 konkurentnih next_invoice_number za istu tvrtku: 0.607s, 1..20 sekvencijalni, nema duplikata",
"5 tvrtki x 4 paralelna poziva: nema mijesanja countera, svaka 1..4",
"20 QR PNG generiranih paralelno: 0.244s, svi razliciti, svi valjan PNG",
"1000 next_formatted: 0.67ms (cisti Python, bez I/O)"
]
bug_koji_je_pronadjen{
"naziv": "Race condition na prvom racunu tvrtke",
"opis": "SELECT FOR UPDATE ne stiti INSERT novog reda (non-existent row lock)",
"scenarij": "Dva konkurentna zahtjeva oba vide seq=None, oba pokusaju INSERT, drugi dobiva UniqueViolation",
"fix": "INSERT INTO invoicing_sequence ... ON CONFLICT ON CONSTRAINT uq_invoicing_sequence DO NOTHING, zatim SELECT FOR UPDATE",
"fajl": "invoicing/service.py: next_invoice_number()",
"severity": "P1 - pogada prvu fakturu svake nove tvrtke"
}
rezultat4/4 PASSED, MAR+EU sync, gunicorn restart
prev_revisionc1160
statusverificirano