Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Cache Updates - holds read lock
  • Checkpointer, begin checlpoint - holds write lock for short time. Holding write lock means all state is consistent, updates are not possible. Usage of checkpoint lock allows to do sharp checkpoint

...

And then checkpoint write lock is released, updates and transactions can run.

Usage of checkpointLock provides following warranties

  • 1 begin checkpoint, and 0 updates (tx'es commit()s) running
  • 0 begin checkpoint and N updates (tx commit()s)

Checkpoint begin does not wait transactions to finish. That means transaction may start before checkpoint, but will be committed after checkpoint end or during its run.

Dirty pages is set, when page from non-dirty becomes dirty, it is added to this set.

...