new `replication.linearizable_quorum` option
Nobody has claimed this yet.
- Dominant language
- CSS
- Stars
- 15
- Forks
- 49
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 3
Description
A number of replicas to synchronize with before performing linearizable
transaction.
Linearizable transactions guarantee that if a write operation completes
before a read operation begins, then this read will always observe the
effects of that write. To ensure this, the node executing a linearizable
transaction must obtain information from enough remote peers to
determine the most up-to-date state of the replica set. That number of
peers can be configured with this option.
By default, the linearizable quorum is evaluated dynamically as
N - Q + 1, where: N – the current number of registered replicas in
the replica set, Q – the current value of replication.synchro_quorum.
This default guarantees quorum intersection between synchronous writes and
linearizable reads (R + Q = N + 1), which is a fundamental requirement
for linearizability.
Note:
To begin a linearizable transaction, the MVCC must be enabled and
txn_isolation must be set to linearizable, the transaction can only
perform requests to synchronous, local or temporary spaces.
Requested by @Serpentian in https://github.com/tarantool/tarantool/commit/123e40fde3c2eb0ab9e07005426f1147428f2f95.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Use the referenced commit as the starting point for understanding the new replication.linearizable_quorum option and review the existing replication configuration documentation. Document its default calculation, relationship to replication.synchro_quorum, and prerequisites for linearizable transactions; done means users can configure and understand the option.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100