From: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> To: Serge Petrenko <sergepetrenko@tarantool.org>, gorcunov@gmail.com, kostja.osipov@gmail.com Cc: tarantool-patches@dev.tarantool.org Subject: Re: [Tarantool-patches] [PATCH v2 2/2] wal: reorder tx rows so that a tx ends on a global row Date: Fri, 29 May 2020 00:54:04 +0200 [thread overview] Message-ID: <d5c68931-269f-c68e-851e-5076c52e2f29@tarantool.org> (raw) In-Reply-To: <d414d4c52942658c9b36581e9f1e12956a9270e8.1590403792.git.sergepetrenko@tarantool.org> Thanks for the patch, But I have a comment! It is a nice crutch, Yet we need one more moment. The patch basically sacrifices transaction rows order and WAL correctness for the sake of replication. It does not look right. Why can't we leave WAL as is, and tweak all these things in relay? It looks really wrong to change statements order. Especially taking into account this is needed *only* for replication. For example, consider FKs. A local space has a FOREIGN KEY reference to a global space. To make it work, we need to insert into the global space first, and then into the local space. When you change the order, the local insert goes first, and violates the foreign key. So if we will check FKs on recovery (when we will have FKs in box), this patch will break them. Alternative to relay - append a dummy NOP statement in the end of the transaction, which would be global. But this is also a crutch. I think the TSNs figuring out should be done in relay. It could keep track of the current transaction, change TSNs and is_commit when necessary.
next prev parent reply other threads:[~2020-05-28 22:54 UTC|newest] Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-05-25 10:58 [Tarantool-patches] [PATCH v2 0/2] fix replication tx boundaries after local space rework Serge Petrenko 2020-05-25 10:58 ` [Tarantool-patches] [PATCH v2 1/2] wal: fix tx boundaries Serge Petrenko 2020-05-28 22:53 ` Vladislav Shpilevoy 2020-05-29 11:09 ` Serge Petrenko 2020-05-25 10:58 ` [Tarantool-patches] [PATCH v2 2/2] wal: reorder tx rows so that a tx ends on a global row Serge Petrenko 2020-05-25 15:13 ` Cyrill Gorcunov 2020-05-25 16:34 ` Konstantin Osipov 2020-05-25 18:35 ` Cyrill Gorcunov 2020-05-25 20:42 ` Konstantin Osipov 2020-05-26 9:41 ` Serge Petrenko 2020-05-26 11:41 ` Konstantin Osipov 2020-05-26 12:08 ` Serge Petrenko 2020-05-28 22:54 ` Vladislav Shpilevoy [this message] 2020-05-29 8:13 ` Konstantin Osipov 2020-05-29 11:42 ` Serge Petrenko 2020-05-29 11:51 ` Konstantin Osipov 2020-05-29 12:07 ` Cyrill Gorcunov 2020-05-29 12:07 ` Cyrill Gorcunov 2020-05-29 12:15 ` Serge Petrenko 2020-05-29 13:44 ` Konstantin Osipov 2020-05-29 15:55 ` Serge Petrenko 2020-06-01 13:40 ` Vladislav Shpilevoy 2020-06-01 16:02 ` Sergey Ostanevich 2020-06-01 17:06 ` Vladislav Shpilevoy 2020-05-28 22:53 ` [Tarantool-patches] [PATCH v2 0/2] fix replication tx boundaries after local space rework Vladislav Shpilevoy 2020-05-29 11:03 ` Serge Petrenko
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=d5c68931-269f-c68e-851e-5076c52e2f29@tarantool.org \ --to=v.shpilevoy@tarantool.org \ --cc=gorcunov@gmail.com \ --cc=kostja.osipov@gmail.com \ --cc=sergepetrenko@tarantool.org \ --cc=tarantool-patches@dev.tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH v2 2/2] wal: reorder tx rows so that a tx ends on a global row' \ /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