2-Phasen-Commit-Protokoll - Theorie

raman

Neuer Benutzer
Beiträge
1
Hallo zusammen,

am kommenden Freitag schreibe ich eine Klausur zum Thema Datenbanken. An sich komme ich gut klar, habe jedoch noch eine Frage zum 2-Phasen-Commit-Protokoll (2PC).

Zunächste die Aufgabenstellung:
Beim 2-Phasen-Commit-Protokoll stürzt der Agent A2 ab, kurz nach dem er das Ready an den Koordinator K geschickt hat. Er bleibt für mehrere Stunden offline. Der andere Agent A1 schickt ebenfalls Ready. Weitere Aktuere sind nicht vorhanden. K und A1 laufen unverändert weiter. Es gehen keine Nachrichten im Netz verloren (außer die an A2). Beschreiben Sie präzise den Ablauf des Koordinators K, A1 und A2.

Der grobe Ablauf ist mir auch klar. Jedoch bin ich mir nun nicht ganz sicher.
Während der Koordinator im COMMIT-Zustand wartet läuft er in ein timeout, da A2 nicht antwortet. Sendet er daraufhin ein ABORT an alle anderen Agenten (in dem Fall nur A1)?
Sobald A2 wieder anläuft fragt dieser Agent sieht dieser, das er im READY-Zustand abgestürzt ist und fragt beim Koordinator nach was zu tun ist. Ist das richtig? Daraufhin würde er ja eben (je nachdem wie die Antwort auf meine erste Frage aussieht) ein rollback oder ein commit ausführen. Ist dies auch richtig?
Was ist dann dann das Endergebnis? Wurde die Transaktion erfolgreich abgeschlossen oder nicht?

Vielen Dank im voraus.
Gruß Raman
 
Werbung:
Zurück
Oben