Anpassen Übungsbeschreibung Wo.10 Distributed DBs
"Figure 1. Money Transfer from A to B using 2PC" ist sehr gut!
Eine weiterer gute Erläuterung könnte ein Pseudo-Code zu 2PC sein, wie es ihn hier gibt: https://wiki.postgresql.org/wiki/Atomic_Commit_of_Distributed_Transactions#Pseudo_Code
Was noch nirgends erwähnt wird (weder in meiner Vorlesung bisher, noch in Figure 1. noch in diesem Pseudocode), ist, dass (bzw. ob) die Logs vorher geschrieben werden - also als WAL (wobei es auch mit WAL noch "Flush"-Probleme gibt, da WALs erst bei Savepoints wirklich geschrieben werden).
Zur Verbesserung - Bei Q8 steht
< Q8 Fehlersituation unflushed und Absturz des TM
Da würde ich etwas genaueres sagen, war mit dem TM passiert:
Q8 Fehlersituation unflushed und Absturz des TM (bevor er loggen kann!).
Ansonsten kommen Fragen auf wie
- Warum weiss der TM, dass er prepare noch nicht gesendet hat?
- Warum loggd TM nicht prepare als WAL?