[tarantool-patches] [PATCH v3 00/14] Parallel applier
Georgy Kirichenko
georgy at tarantool.org
Sun Jun 9 23:44:29 MSK 2019
This patch set introduces parallel applier processing on top of
asynchronous transaction feature with corresponding fixes essential
for the patch.
This patch set is focused on three major options:
1. To make a transaction and a fiber independent from one another.
2. To make a transaction commit asynchronous.
3. To allow applier write transaction in parallel.
Changes in v3:
- Add a parallel applier implementation
- Store transaction related data such as ddl trigger to a transaction
memory region
- Fix privileges defining
- Minor fixes according to review
Changes in v2:
- Three patches are merged to master
- Replicated rows are also copied to txn region
- A fiber to process tx_prio endpoint
- Engine commit and triggers are changed in order
- Minor fixes according to review
Georgy Kirichenko (14):
txn: Fire a trigger after a transaction finalization
ddl: synchronize privileges cache with actual data state.
txn: transaction memory allocation
ddl: place alter structures onto a txn memory region
txn: get rid of autocommit from a txn structure
txn: get rid of fiber_gc from txn_rollback
wal: remove fiber from a journal_entry structure
wal: enable asyncronous wal writes
wal: a dedicated wal scheduling fiber
core: latch_unlock_external routine
txn: introduce asynchronous txn commit
txn: handle fiber stop event at transaction level
applier: apply transaction in parallel
test: fix flaky test
src/box/alter.cc | 47 ++-
src/box/applier.cc | 395 ++++++++++++++++++--------
src/box/applier.h | 4 +
src/box/box.cc | 131 +++++++--
src/box/call.c | 22 +-
src/box/index.cc | 10 +-
src/box/journal.c | 34 ++-
src/box/journal.h | 51 +++-
src/box/memtx_engine.c | 16 +-
src/box/memtx_space.c | 8 +-
src/box/sql.c | 2 +-
src/box/txn.c | 294 +++++++++++--------
src/box/txn.h | 45 ++-
src/box/vinyl.c | 18 +-
src/box/vy_log.c | 2 +-
src/box/vy_scheduler.c | 16 +-
src/box/wal.c | 137 +++++++--
src/lib/core/latch.h | 13 +-
test/box/ddl.result | 37 +++
test/box/ddl.test.lua | 15 +
test/replication/sync.result | 7 +-
test/replication/sync.test.lua | 4 +-
test/replication/transaction.result | 16 +-
test/replication/transaction.test.lua | 7 +-
24 files changed, 939 insertions(+), 392 deletions(-)
--
2.21.0
More information about the Tarantool-patches
mailing list