Suppose that the coordinator of a transaction crashes after it has recorded the intentions list entry but before it has recorded the participant list or sent out the canCommit? requests. Describe how the participants resolve the situation. What will the coordinator do when it recovers? Would it be any better to record the participant list before the intentions list entry?
What will be an ideal response?
As the coordinator is the only server to receive the closeTransaction request from the client, the workers will not know the transaction has ended, but they can time out and unilaterally decide to abort the transaction. They are allowed to do this because they have not yet voted. When the coordinator recovers it also aborts the transaction.
An apparent advantage of recording a worker list earlier (before the coordinator fails), is that it could be used to notify the workers when a coordinator recovers, with a view to avoiding the need for timeouts in workers. Unfortunately workers cannot avoid the need for timeouts because the coordinator may not recover for a very long time.
You might also like to view...
Which of the following is not an advantage of using a PERT diagram over a Gantt chart?
A) easy identification of the order of precedence B) easy determination of slack time C) easy to show activities that occur at any given point in time D) easy identification of the critical path
As an additional source of revenue, Flickr has partnered with other companies, known as ____________________, who provide photo-printing services.
Fill in the blank(s) with the appropriate word(s).