Skip to content

Protocol for Replication

hengxin(Hengfeng Wei) edited this page Jun 2, 2016 · 1 revision

Protocol for Replication

Client-side methods

Master-side methods

Synchronization issues

There are two forms of synchronizations regarding start-commit-log and table, both maintained at the master site. The simple one focuses on read/write behaviours on an instance of start-commit-log (or table), and the more complex one deals with the synchronization issues when a transaction is about to commit: atomically checking wcf (write-conflict-free) based on start-commit-log, generating commit-timestamp (if the transaction can be committed), and updating start-commit-log.

For the simple form of synchronization, we use ReentrantReadWriteLock to synchronize the read/write operations on an instance of start-commit-log (or table).

The atomicity requirement in committing a transaction is enforced by the write lock of the ReentrantReadWriteLock of start-commit-log.

Slave-side methods

Synchronization issues

using ReentrantReadWriteLock

Clone this wiki locally