2

あるインタビューでこの質問をされました。この質問に対する答えに興味があります:

3 フェーズ コミット プロトコルで、プレコミット メッセージを送信した後、コーディネーターがすべてのリソース マネージャーから肯定応答を受信し、コーディネーターが commit コマンドを送信したときにリソース マネージャーの 1 つがコミットに失敗した場合はどうなりますか?

これに関する任意の考えをいただければ幸いです。

ありがとう。

4

1 に答える 1

0

良い質問。あなたが説明した状況では、それはノーリターンのポイントを過ぎていました。トランザクションはコミットされたと見なされます。

「失敗した」リソース マネージャが実際にはコーディネータから分割されただけであることが問題である場合は、タイムアウトになり、トランザクション自体がコミットされます。

問題がリソース マネージャーの停止である場合、回復すると移行がコミットされます。リソースマネージャーが永遠に死んだ場合、何が起こったのかは問題ではありません。

ソース:

于 2014-06-06T19:52:44.133 に答える