Erste Phase des Zwei-Phasen-Ende-Protokolls
1. | openUTM sendet eine PETA-Anweisung an UDS/SQL. Die Verteilkomponente in der Anwendertask sendet
Die PETA-Anweisung bewirkt, dass ausfallsicher in der RLOG-Datei der jeweiligen Konfiguration gespeichert werden
|
In den noch folgenden Schritten ist mit „sekundäre Teiltransaktion“ grundsätzlich „sekundäre Teiltransaktion mit UPDATE-Kennzeichnung“ gemeint, da die übrigen sekundären Teiltransaktionen bereits abgeschlossen sind. | |
2. | Die sekundären Teiltransaktionen führen die PETA-Anweisung durch und melden der Verteilkomponente in der Anwendertask, ob die PETA-Anweisung ohne Fehler durchgeführt werden konnte oder nicht. |
3. | Wenn die Verteilkomponente in der Anwendertask von jeder sekundären Teiltransaktion eine Meldung erhalten hat, prüft sie, ob die Durchführung der PETA-Anweisung bei allen Teiltransaktionen erfolgreich war. Abhängig davon wird 4a. oder 4c. durchgeführt. Falls die Verteilkomponente in der Anwendertask nach Ablauf einer von PP CHCKTIME abhängigen Zeitspanne nicht von allen Teiltransaktionen eine Meldung erhalten hat, werden alle Teiltransaktionen aufgefordert, sich mit FINISH WITH CANCEL zu beenden. |
4a. | |
Wenn alle Teiltransaktionen die PETA-Anweisung erfolgreich durchgeführt haben, wird auch für die primäre Teiltransaktion eine PETA-Anweisung abgesetzt. Wird diese fehlerfrei durchgeführt, so befindet sich die ganze DB-Transaktion im Zustand PTC | |
Zweite Phase des Zwei-Phasen-Ende-Protokolls4b. | |
Alle sekundären Teiltransaktionen werden aufgefordert, sich mit FINISH WITH CANCEL zu beenden. openUTM erhält den Returncode „Transaktion zurückgesetzt“. | |
4c. | |
Wenn nicht alle sekundären Teiltransaktionen die PETA-Anweisung erfolgreich durchführen konnten, werden alle Teiltransaktionen - auch die primäre - aufgefordert, sich mit Zurücksetzen der Änderungen zu beenden (FINISH WITH CANCEL). openUTM erhält den Returncode „Transaktion zurückgesetzt“. | |
5. | openUTM stimmt mit anderen Anwendungen ab, wie die Transaktion beendet werden soll und veranlasst UDS/SQL zum Festschreiben oder zum Zurücksetzen der Änderungen. Die Beendigung der einzelnen Teiltransaktionen wird von der Verteilkomponente in der Anwendertask gesteuert. |