Errata for the Fourth Printing of

Transaction Processing, Concepts and Techniques

by Jim Gray and Andreas Reuter

Page 86. Problem #4 should read:

"In the example of subsection comparing sequential to random access, sequential was faster by a factor of 151:1..."

Page 88. The answer to #4 should read:

"Computation is the same except that the total transfer time goes from 0.1 sec to 100 sec. The cost ratios are 100 seconds for sequential and 115 seconds for the random case, and the ratio is 1.15:1..."

Page 94. Equation 3.2 should read:

P(a or B) = P(A) + (1 - P(A)) * P(B) = P(A) + P(B) - P(A)*P(B).

Page 103. Tandem should be capitalized in heading of Figure 3.6

Page 119. Line -3: drop "by" before "Joel Bartlett"

Page 153. Exercise 11. The last sentence should end with the question mark.

Page 153. Exercise 16 read: There are about 3 107 seconds in a year..."

Page 154. Exercise 26 should read:

"Make the storage repair process of Subsection a process pair."

Page 154. The exercises from 23-30 have some incorrect text section identifiers. Please note the correct ones below:

23: 3.7.4

24: 3.7.3

25: 3.7.3

27: 3.7.4

28: 3.7.4

29: 3.7.4

30: 3.7.4

Page 154: The reference in exercise 26 should be to section (not 3.7.1).

Page 155. The answer for 1(b) should be 10-7

Page 155. Exercise 3.4. The answer should read

"...The chance it will fail in the next year is 1 - e-1 , which is about .63."

Page 155, Exercise 3.5. The answer should read:

"The period involved 108250 hours or 20,000 hours. The MTTF was 5000 hours....So the availability was 99.93%..."

* Page 155. Exercise 10. The answers should be

(a) 36 months

(b) 2.4 months

(c) 5.2 months

Page 155, Exercise 12. The answer should read:

"(a) 19. Running the programs with a failvote voter will always result in a shorter MTTF than the MTTF of a simplex module...the next in time MTTF/(n-1), and so on. The voter needs at least 3 modules to form a majority. So we need to find an n such that 1/n + 1/(n-1) + ... +1/32. 19 is the smallest such number...."

Page 156, Exercise 16. The answer should read:

[MTTF = 71010 seconds = 2.2 103 years and the fault arrival rate is =

1/(2.2103) = 4.510-2 faults/year. So the simple answer is 105 pages times 1 year times . This translates to 4500 failed pages per year. the more careful analysis uses Equation 3.15 (page 152) to get the same answer: The probability of a particular page failing in a year is (e-2.2 10 -3) 1/2.2 10-3 Now the population times the probability of failure gives 105 4.510-2 = 450.

Page 156, Exercise 21. (b) answer should read: "...So 99.9% = class 3."

Page 170. DC Application program: The following lines should be in Times


receive input message; /* deal with request messages */

send output message; /* send response to terminal */

Page 205. Third rule: make B a subscript.


Page 278. At the end of the page, the first two columns in the First Declare of CautiousServer should be indented to match the tabbing of the following declarations of code. TRID and NEWTRID should line up with lower columns.

Page 280. In the sixth line, the "s" in (savepoint) should not be in boldface.

Page 314. Figure 6.6 caption. Grammatical error: Drop "the TPOS consists of".

Page 318: MyProc, MyTrans, MyRM, ClientRM, MyProcP, MyTransP, MyRMP, and ClientRMP should all be bold in column 2 of top half of page.

Page 323, Second and third line from the bottom of page: PRCB should be PCB in both places.

Page 324: Second paragraph: "PRCB" should be "PCB".

Page 326. The line eight lines from the end of page that begins with "else" should align with the "}" above it.

Page 346. The 4th from the end rm_Abort line needs a comma:

success = Commit_Work(Null,False)

Page 356. Sixth line from end of page. The word in before principle should also be italicized.

Page 600: Line 6 from bottom: drop extra parenthesis.