Mittwoch, Mai 15, 2013

Deadlock Ursachen

In den letzten Wochen gab es eine bemerkenswerte Häufung von interessanten Artikeln zum Thema deadlocks:
  • Arup Nanda - Application Design is the only Reason for Deadlocks? Think Again: liefert eine instruktive Einführung zum Thema, erklärt, welche Lock-Typen im Spiel sind, wie man die zugehörigen trace files liest und führt aus, in welchen Fällen sich deadlocks ergeben, die nicht auf Fehler in der Anwendungslogik zurückzuführen sind (ITL shortage, unindexed foreign keys, direct load operations, bitmap index contention, PK overlap beim INSERT)
  • Jonathan Lewis - deadlocks: erklärt, dass den rowid Angaben in deadlock Graphen in vielen Fällen nicht zu trauen ist: "When I see a deadlock graph on transaction locks and the waits are for S mode I tend to assume that the information about the rows waited on is probably misleading; when the slot number for the rowid is zero this increases my confidence that the rowid is rubbish."
  • Christian Antognini - ITL Deadlocks (script): liefert ein Test-Script zu Erzeugung eines Beispiels für die (auch beim Herrn Nanda erwähnte) ITL shortage. Interessant ist am Artikel neben dem Script auch die hübsche Präsentation eines Mitschnitts der Scriptausführung.

Keine Kommentare:

Kommentar veröffentlichen

Kommentar veröffentlichen