A server uses timestamp ordering for local concurrency control. What changes must be made to adapt it for use with distributed transactions? Under what conditions could it be argued that the two-phase commit protocol is redundant with timestamp ordering?
What will be an ideal response?
Timestamps for local concurrency control are just local counters. But for distributed transactions, timestamps at different servers must have an agreed global ordering. For example, they can be generated as (local timestamp, server-id) to make them different. The local timestamps must be roughly synchronized between servers.
With timestamp ordering, a transaction may be aborted early at one of the servers by the read or write rule, in which case the abort result is returned to the client. If a server crashes before the client has done all its actions at that server, the client will realise that the transaction has failed. In both of these cases the client should the send an abortTransaction to the coordinator.
When the client request to commit arrives, the servers should all be able to commit, provided they have not crashed after their last operation in the transaction.
The two-phase commit protocol can be considered redundant under the conditions that (i) servers are assumed to make their changes persistent before replying to the client after each successful action and (ii) the client does not attempt to commit transactions that have failed.
You might also like to view...
Match the following operating systems with their characteristics:
I. Windows/Intel II. PC-DOS III. OS/390 and Z/OS IV. Linux V. iOS A. operating system developed for IBM B. GUI operating system C. a popular desktop computer platform D. cell phone operating system E. IBM mainframe operating system
________ occurs when someone uses your name, Social Security number, or bank or credit card number fraudulently
Fill in the blank(s) with correct word
A SharePoint subsite is also known as a child site
Indicate whether the statement is true or false
The ____________________ selector is used to redefine formatting for a group of tags only when those tags appear in a defined order.
Fill in the blank(s) with the appropriate word(s).