From: Aleksandr Lyapunov <alyapunov@tarantool.org> To: tarantool-patches@dev.tarantool.org Cc: v.shpilevoy@tarantool.org Subject: [Tarantool-patches] [PATCH v2 00/16] Transaction engine for memtx engine Date: Wed, 8 Jul 2020 18:14:07 +0300 [thread overview] Message-ID: <1594221263-6228-1-git-send-email-alyapunov@tarantool.org> (raw) Implement a transaction engine that would allow yieding etc. That is a draft, work is still in progress. GH issue: https://github.com/tarantool/tarantool/issues/4897 GH branch: https://github.com/tarantool/tarantool/tree/alyapunov/gh-4897-memtx-tx-engine-v6 Difference from previous version: - txm_story simplified - comments added - lost of tests are passed now Aleksandr Lyapunov (16): Update license file (2020) Check data_offset overflow in struct tuple tx: introduce dirty tuples vinyl: rename tx_manager -> vy_tx_manager tx: save txn in txn_stmt tx: add TX status tx: save preserve old tuple flag in txn_stmt tx: introduce tx manager tx: introduce prepare sequence number tx: introduce txn_stmt_destroy tx: introduce conflict tracker introduce tuple smart pointers tx: introduce txm_story tx: indexes tx: introduce point conflict tracker tx: use new tx manager in memtx LICENSE | 2 +- src/box/errcode.h | 1 + src/box/memtx_bitset.c | 28 +- src/box/memtx_engine.c | 69 ++- src/box/memtx_hash.c | 60 ++- src/box/memtx_rtree.c | 27 +- src/box/memtx_space.c | 29 ++ src/box/memtx_tree.c | 73 ++- src/box/tuple.c | 12 +- src/box/tuple.h | 62 ++- src/box/tuple_format.c | 4 +- src/box/txn.c | 942 +++++++++++++++++++++++++++++++++- src/box/txn.h | 192 +++++++ src/box/vinyl.c | 30 +- src/box/vy_stmt.c | 9 + src/box/vy_tx.c | 49 +- src/box/vy_tx.h | 33 +- src/main.cc | 3 + test/box/error.result | 1 + test/box/huge_field_map.result | 49 ++ test/box/huge_field_map.test.lua | 22 + test/box/huge_field_map_long.result | 51 ++ test/box/huge_field_map_long.test.lua | 28 + test/box/suite.ini | 1 + 24 files changed, 1673 insertions(+), 104 deletions(-) create mode 100644 test/box/huge_field_map.result create mode 100644 test/box/huge_field_map.test.lua create mode 100644 test/box/huge_field_map_long.result create mode 100644 test/box/huge_field_map_long.test.lua -- 2.7.4
next reply other threads:[~2020-07-08 15:14 UTC|newest] Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-08 15:14 Aleksandr Lyapunov [this message] 2020-07-08 15:14 ` [Tarantool-patches] [PATCH 01/16] Update license file (2020) Aleksandr Lyapunov 2020-07-08 15:14 ` [Tarantool-patches] [PATCH 02/16] Check data_offset overflow in struct tuple Aleksandr Lyapunov 2020-07-12 17:15 ` Vladislav Shpilevoy 2020-07-14 17:09 ` Aleksandr Lyapunov 2020-07-14 22:48 ` Vladislav Shpilevoy 2020-07-08 15:14 ` [Tarantool-patches] [PATCH 03/16] tx: introduce dirty tuples Aleksandr Lyapunov 2020-07-12 17:15 ` Vladislav Shpilevoy 2020-07-12 22:24 ` Nikita Pettik 2020-07-08 15:14 ` [Tarantool-patches] [PATCH 04/16] vinyl: rename tx_manager -> vy_tx_manager Aleksandr Lyapunov 2020-07-12 17:14 ` Vladislav Shpilevoy 2020-07-08 15:14 ` [Tarantool-patches] [PATCH 05/16] tx: save txn in txn_stmt Aleksandr Lyapunov 2020-07-12 17:15 ` Vladislav Shpilevoy 2020-07-08 15:14 ` [Tarantool-patches] [PATCH 06/16] tx: add TX status Aleksandr Lyapunov 2020-07-12 17:15 ` Vladislav Shpilevoy 2020-07-08 15:14 ` [Tarantool-patches] [PATCH 07/16] tx: save preserve old tuple flag in txn_stmt Aleksandr Lyapunov 2020-07-12 17:14 ` Vladislav Shpilevoy 2020-07-14 23:46 ` Vladislav Shpilevoy 2020-07-15 7:53 ` Aleksandr Lyapunov 2020-07-08 15:14 ` [Tarantool-patches] [PATCH 08/16] tx: introduce tx manager Aleksandr Lyapunov 2020-07-08 15:14 ` [Tarantool-patches] [PATCH 09/16] tx: introduce prepare sequence number Aleksandr Lyapunov 2020-07-08 15:14 ` [Tarantool-patches] [PATCH 10/16] tx: introduce txn_stmt_destroy Aleksandr Lyapunov 2020-07-12 17:15 ` Vladislav Shpilevoy 2020-07-08 15:14 ` [Tarantool-patches] [PATCH 11/16] tx: introduce conflict tracker Aleksandr Lyapunov 2020-07-12 17:15 ` Vladislav Shpilevoy 2020-07-14 23:51 ` Vladislav Shpilevoy 2020-07-15 7:57 ` Aleksandr Lyapunov 2020-07-08 15:14 ` [Tarantool-patches] [PATCH 12/16] introduce tuple smart pointers Aleksandr Lyapunov 2020-07-12 17:16 ` Vladislav Shpilevoy 2020-07-08 15:14 ` [Tarantool-patches] [PATCH 13/16] tx: introduce txm_story Aleksandr Lyapunov 2020-07-12 17:14 ` Vladislav Shpilevoy 2020-07-14 23:46 ` Vladislav Shpilevoy 2020-07-15 8:11 ` Aleksandr Lyapunov 2020-07-15 22:02 ` Vladislav Shpilevoy 2020-07-08 15:14 ` [Tarantool-patches] [PATCH 14/16] tx: indexes Aleksandr Lyapunov 2020-07-14 23:50 ` Vladislav Shpilevoy 2020-07-15 10:02 ` Aleksandr Lyapunov 2020-07-15 22:08 ` Vladislav Shpilevoy 2020-07-15 10:19 ` Aleksandr Lyapunov 2020-07-08 15:14 ` [Tarantool-patches] [PATCH 15/16] tx: introduce point conflict tracker Aleksandr Lyapunov 2020-07-08 15:14 ` [Tarantool-patches] [PATCH 16/16] tx: use new tx manager in memtx Aleksandr Lyapunov 2020-07-14 23:45 ` Vladislav Shpilevoy 2020-07-15 10:32 ` Aleksandr Lyapunov 2020-07-15 22:09 ` Vladislav Shpilevoy 2020-07-12 17:19 ` [Tarantool-patches] [PATCH v2 00/16] Transaction engine for memtx engine Vladislav Shpilevoy 2020-07-14 23:47 ` Vladislav Shpilevoy 2020-07-15 12:25 ` Aleksandr Lyapunov 2020-07-15 22:10 ` Vladislav Shpilevoy 2020-07-16 4:48 ` Aleksandr Lyapunov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1594221263-6228-1-git-send-email-alyapunov@tarantool.org \ --to=alyapunov@tarantool.org \ --cc=tarantool-patches@dev.tarantool.org \ --cc=v.shpilevoy@tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH v2 00/16] Transaction engine for memtx engine' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox