Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Deadlock, jak to zrobić???
espeen
post 19.01.2006, 21:31:34
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 5.01.2006
Skąd: Kraków

Ostrzeżenie: (10%)
X----


Witam.
Potrzebuję kilka przykładów jak wywołać taki błąd w mysql?questionmark.gif
Pilne.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Radarek
post 20.01.2006, 17:50:42
Post #2





Grupa: Zarejestrowani
Postów: 188
Pomógł: 0
Dołączył: 23.05.2005

Ostrzeżenie: (0%)
-----


Aaaa no glupi jestem. Wiem co to zakleszczenie ale jakos w kontekscie mysql mi sie zapomnialo winksmiley.jpg. Podany przyklad przez ~mike_mecha jest ok, z tym, ze w normalnych skryptach "dobrze" zaprojektowanych dla kazdego BEGIN masz ROLLBACK lub COMMIT. I teraz sprawa jest taka, ze nie gwarantuje to, ze taki deadlock nie wystapi. Klasyczny deadlock wystapi, jesli proces A zalozyh blokade na zasob ZA, proces B zalozy blokade na zasob ZB i teraz proces A probuje zalozyc blokade na zasob ZB (ale musi poczekac, az proces B ja sciagnie), zas proces B chce zalozyc blokade na zasob ZA (ale musi poczekac, az proces A ja sciagnie). I wtedy powstanie takie zakleszczenie.
Probowalem przed chwila ulepszyc przyklad podany przez ~mike_mecha w ten spsob, ze wlaczylem sobie 2 konsole. Na obu z nich rozpoczalem transakcje (BEGIN;), potem na konsoli A zrobilem update tabeli X, zas na konsoli B update tabeli Y. Pozniej chcialem zamienic update'y (na konsoli A update tabeli Y, na konsoli B update tabeli X) i o dziwo dostalem komunikat:
Cytat
update AKTUALNY_SEZON set ID_SEZONU=1 where ID_SEZONU=1;
ERROR 1213 (40001): Deadlock found when trying to get lock; try restarting transaction

Nie wiem wiec, czy mozna taki deadlock wywolac w mysql, czy zabezpieczyli sie przed tym sprawdzajac taki graf procesow i zasobow.

Ten post edytował Radarek 20.01.2006, 19:50:41
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 11:28