Je suis en train d'étudier comment de validation à deux phases de travaux à travers une transaction distribuée. C'est ma compréhension que dans la dernière partie de la phase de la transaction coordinator demande à chaque nœud s'il est prêt à s'engager. Si tout le monde d'accord, il leur dit d'aller de l'avant et de s'engager.
Qu'est ce qui empêche la suite de l'échec?
- Tous les nœuds de répondre qu'ils sont prêt à s'engager
- La transaction coordonnateur raconte à "aller de l'avant et de s'engager", mais l'un des nœuds se bloque avant de recevoir cette message
- Tous les autres nœuds de s'engager avec succès, mais maintenant, la transaction distribuée est corrompu
- C'est ma compréhension que s'est écrasé lorsque le nœud est de retour, sa transaction ont été annulées (puisqu'il n'a jamais eu le message de commit)
Je suis en supposant que chaque nœud est en cours d'exécution normale de la base de données qui ne sait rien au sujet des transactions distribuées. Qu'ai-je manqué?