COM1317 Sp2002 Notes to study for the Final Exam
Monday, June 3rd at 1pm in room 224 HT (Hurtig)
Prof. Futrelle, College of Computer Science, Northeastern University
posted May 31st
These notes describe the various topics and concepts which may be included on the
Final Exam. There are also some notes emphasizing topics that will *not* be included
on the Final.
Below, EC indicates an extra credit topic.
Chapter 6. Locking
- Given a sequence in the form shown on page 197, tell whether it is serializable
or not and describe how you determined this.
- Given a lock table, explain whether it's legal or not, i.e., could it
ever have the entries shown. (Easy question)
- EC: Discuss some aspects of granular locking, e.g., intention locks.
- Know the three degrees of isolation (Fig. 6.10), how they work and what they
imply.
Chapter 8. Database System Recovery
- Discuss the use of checkpoints (if any) in transaction failure versus
system failure versus media failure.
- Be able to discuss the example on page 244 and why it is avoided by
using strict locking (all locks held until after the commit/abort action
is taken).
- Be able to list and describe the four fields in the cache descriptor table
in Fig. 8.2 and what they are used for.
- Given some or all of the five operations at the bottom of page 246, be able
describe which part of the system is allowed to call them and what each call
is used for, what its function is.
- Understand that the address of the page in a log update record is there because
of the simplifying assumption of a page-based log and what replaces it when finer
granularity is used.
- Give an example of the type of problem that can arise if write-ahead logging is
not enforced.
- Describe how force-at-commit can still allow recovery even if some updated pages
are not flushed to the stable database. (redo required)
- EC: Describe how the dependent log page address, Fig. 8.8 and related discussion,
prevents cache pages from being flushed before the corresponding log records are written.
- Explain the initialization and updating of the list of committed and aborted
transactions and the list of active transactions during restart, using a checkpoint.
- Note: Operation logging, starting on pg. 258, will not be on the Final.
Chapter 9. Two-Phase Commit
- Describe what type of errors can arise if a participant were to unilaterally abort
or commit during its uncertainty period. (And you have to know where in the sequence
of messages and locks the uncertainty period occurs.)
- Thoroughly understand all the failure handling examples in Sec. 9.3, which covers
the basic, unoptimized two-phase commit protocol.
- If you are given either Fig. 9.5 or 9.6 on the test, be able to describe what is going
on and why the decisions that are made result in a correct commit or abort using the
presumed abort protocol.
- In a similar way, be able to discuss the transfer of coordination diagram in
Fig. 9.7.
Return to COM1317 home page.