Explain how the two-phase commit protocol for nested transactions ensures that if the top-level transaction commits, all the right descendents are committed or aborted.
What will be an ideal response?
Whenever a nested transaction commits, it reports its status and the status of its descendants to its parent. Therefore when a transaction enters the committed state, it has a correct list of its committed descendants. Therefore when the top-level transaction starts the two-phase commit protocol, its list of committed descendants is correct. It checks the descendants and makes sure they can still commit or must abort. There may be nodes that ran unsuccessful descendants which are not included in the two-phase commit protocol. These will discover the outcome by querying the top-level transaction.
You might also like to view...
App tiles enable you to move quickly between open apps by clicking on one of the thumbnails
Indicate whether the statement is true or false
The Line Spacing arrow is on which tab?
A) View B) Edit C) Insert D) Home
Insert a callout by clicking the ________ tab
A) Insert B) Home C) File D) Chart Tools Design
To select a ____ in the table in the accompanying figure, point to its left edge and click when the mouse pointer changes to a small solid upward angled pointing arrow.
A. cell B. row C. column D. none of the above