Bug: Race Condition bei gleichzeitigem Ticket-Enrichment #38
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beschreibung
Wenn zwei User gleichzeitig dasselbe Ticket enrichen, überschreibt der letzte Commit die Änderungen des ersten. Kein Row-Level Locking vorhanden.
Hintergrund
tickets.py:134-146liest das Ticket, modifiziert Felder und committed — ohne Locking. Bei zwei parallelen PATCH-Requests auf dasselbe Ticket gehen Daten des ersten Users verloren (Last-Write-Wins).Akzeptanzkriterien
SELECT ... FOR UPDATETechnische Hinweise
backend/api/tickets.py:134-146versionFeld im Ticket-Model, bei jedem Update incrementieren, bei Mismatch 409db.query(Ticket).with_for_update().filter(...)backend/models/ticket.py— optionalversionFeld (Integer)Aufwand: S