Modify

Ticket #23 (assigned defect)

Opened 3 years ago

Last modified 3 years ago

Race conditions bei Datenbankabfragen

Reported by: jbe Owned by: dark
Priority: minor Milestone:
Component: Frontend Version: alpha5
Keywords: Cc:

Description

Bei verschiedenen Datenbankabfragen fehlt ein Mechanismus um zu verhindern, dass sich zwischen Lese- und Schreibzugriffen die Datenbasis zwischenzeitlich durch konkurrierende Prozesse ändern kann. Dies kann durch ein zeilenbasiertes "FOR SHARE"-Datenbank-Lock bei den entsprechenden Abfragen behoben werden. In Fällen wo nur INSERTs konkurrierend auftreten, ließe sich das Problem auch mit :try_save() und anschließender Prüfung eines auftretenden Fehlerobjektes mittels :is_kind_of("IntegrityConstraintViolation.UniqueViolation") lösen.

Dieser Mangel hat neben selten auftretenden Fehlermeldungen vermutlich keine weiteren Auswirkungen.

Attachments

Change History

comment:1 Changed 3 years ago by jbe

  • Owner set to dark
  • Status changed from new to assigned

comment:2 Changed 3 years ago by anonymous

In WebMCP v1.0.4 werden Selektoren eine Möglichkeit zum zeilenweisen Locking bereitstellen.

comment:3 Changed 3 years ago by jbe

In WebMCP v1.0.4 werden Selektoren eine Möglichkeit zum zeilenweisen Locking bereitstellen.

comment:4 Changed 3 years ago by jbe

An den kritischen Stellen (siehe Ticker #22) wurde dieses Problem gelöst. An unkritischen Stellen ist es aber noch vorhanden.

View

Add a comment

Modify Ticket

Action
as assigned
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.