Skip to content
jnblanchet edited this page Aug 26, 2013 · 8 revisions

The logging of all transactions is the core mechanism used by the replication to ensure consistency. Its goal is to keep track of all operation modifying the store and the result (success/failure) of each one of those operations. Logging is done by writing every mutation transaction in a transaction log record, each being identified by its very own cluster wide unique timestamp fetched from SCN. Multiple mutations can be applied to different store tables in a single mutation transaction, meaning they will all succeed or all fail. It’s worth noting that all mutations of a given transaction are identified by the same timestamp, since they are all to be applied together.

The whole transaction and transaction logging process is done in 4 steps:

  1. A unique timestamp is assigned to the mutation transaction.
  2. Transactions are encoded and appended to the transaction log.
  3. Transaction are executed by the store.
  4. The transaction result (success, error) is appended the transaction log as a new log entry.

Clone this wiki locally