From: Vladimir Davydov <vdavydov.dev@gmail.com> To: Georgy Kirichenko <georgy@tarantool.org> Cc: tarantool-patches@freelists.org Subject: Re: [tarantool-patches] [PATCH v2 3/3] Transaction support for applier Date: Thu, 7 Mar 2019 13:38:43 +0300 [thread overview] Message-ID: <20190307103843.lla36g2qwmd3pyay@esperanza> (raw) In-Reply-To: <9fca821d3c43ee5ee928a0ca800d6bd0823cfd06.1551902962.git.georgy@tarantool.org> On Wed, Mar 06, 2019 at 11:16:18PM +0300, Georgy Kirichenko wrote: > Applier fetch incoming rows to form a transaction and then apply it. > Rows are fetched and stored on fiber gc region until last transaction row > with is_commit was fetched. After fetch a multi row transaction is going to be > applied into txn_begin/txn_commit/txn_rolback boundaries. At this time > we could not apply single row transaction in such boundaries because of > ddl which does not support non auto commit transactions. > > Closes: #2798 > Needed for: #980 > --- > src/box/applier.cc | 211 ++++++++++++++++------ > test/replication/transaction.result | 240 ++++++++++++++++++++++++++ > test/replication/transaction.test.lua | 86 +++++++++ > 3 files changed, 482 insertions(+), 55 deletions(-) > create mode 100644 test/replication/transaction.result > create mode 100644 test/replication/transaction.test.lua > > diff --git a/src/box/applier.cc b/src/box/applier.cc > index a687d2bea..f0a779aa7 100644 > --- a/src/box/applier.cc > +++ b/src/box/applier.cc > @@ -429,6 +429,146 @@ applier_join(struct applier *applier) > applier_set_state(applier, APPLIER_READY); > } > > +/** > + * Helper struct to bind rows in a list. > + */ > +struct xrow_header_item { I like that you now use a list instead of a dynamically growing array for storing rows. This spares us from the necessity of implementing region_realloc. Don't like the name though. What about applier_tx_stmt? > + struct stailq_entry next; > + struct xrow_header row; > +}; Please add comments to struct members. Also, it doesn't seem that you have addressed all my previous comments. Please go through them once again.
next prev parent reply other threads:[~2019-03-07 10:38 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-03-06 20:16 [tarantool-patches] [PATCH v2 0/3] Transaction boundaries " Georgy Kirichenko 2019-03-06 20:16 ` [tarantool-patches] [PATCH v2 1/3] Applier gets rid of a xstream Georgy Kirichenko 2019-03-07 9:31 ` Vladimir Davydov 2019-03-06 20:16 ` [tarantool-patches] [PATCH v2 2/3] Put all new rows to the end of journal request Georgy Kirichenko 2019-03-07 9:46 ` Vladimir Davydov 2019-03-07 10:38 ` [tarantool-patches] " Konstantin Osipov 2019-03-07 10:53 ` Vladimir Davydov 2019-03-07 11:22 ` Konstantin Osipov 2019-03-06 20:16 ` [tarantool-patches] [PATCH v2 3/3] Transaction support for applier Georgy Kirichenko 2019-03-07 10:38 ` Vladimir Davydov [this message] 2019-03-07 10:40 ` [tarantool-patches] " Konstantin Osipov
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=20190307103843.lla36g2qwmd3pyay@esperanza \ --to=vdavydov.dev@gmail.com \ --cc=georgy@tarantool.org \ --cc=tarantool-patches@freelists.org \ --subject='Re: [tarantool-patches] [PATCH v2 3/3] Transaction support for applier' \ /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