tarantool / tarantool/doc

Asynchronous commit modes for synchronous transactions

Open
#4,656 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
CSS
Stars
15
Forks
49
Avg merge
1d 13h
Merged PRs (30d)
3

Description

Product: Tarantool
Since: 3.3
Root document: https://www.tarantool.io/en/doc/latest/reference/reference_lua/box_txn_management/commit/
and https://www.tarantool.io/ru/doc/latest/reference/reference_lua/box_txn_management/atomic/
and https://www.tarantool.io/en/doc/latest/platform/replication/repl_sync/

Some users may want to overcome the throughput limitation of synchronous
transactions and commit them using asynchronous wait modes (2c66624). This
will allow them to get the same consistency guarantees with
read-confirmed and linearizable isolation levels without paying the
throughput penalty. Changes committed this way will be visible with the
read-committed isolation level.

Asynchronously committed synchronous transactions will not get rolled back
because of replication_synchronous_timeout, and subsequent synchronously
committed transactions will not rollback their asynchronously committed
predecessors on timeout.
Requested by @CuriousGeorgiy in https://github.com/tarantool/tarantool/commit/2a401a6ad9db5f3708a4fd91bd80e098eec4d6b9.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the three linked root documents for commit, atomic transactions, and synchronous replication, then read the referenced commit 2c66624 and request commit 2a401a6. Document the asynchronous wait modes, their isolation and visibility guarantees, and timeout behavior across the relevant pages; done means the documented behavior matches the requested semantics.

Written by the indexing model from the issue text.

Assessment

Domain
databases, distributed-systems, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.