You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Use
Its goal is to keep track of all operation modifying the store and the result (success/failure) of each one of those operations.
How
Logging is done by writing every mutation transaction in a transaction log record, each being identified by its very own cluster wide unique timestamp. 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:
A unique timestamp is assigned to the mutation transaction.
Transactions are encoded and appended to the transaction log.
Transaction are executed by the store.
The transaction result (success, error) is appended the transaction log as a new log entry.