From: Cyrill Gorcunov via Tarantool-patches <tarantool-patches@dev.tarantool.org> To: tml <tarantool-patches@dev.tarantool.org> Cc: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> Subject: [Tarantool-patches] [PATCH v10 0/4] limbo: implement packets filtering Date: Wed, 4 Aug 2021 22:07:48 +0300 [thread overview] Message-ID: <20210804190752.488147-1-gorcunov@gmail.com> (raw) Replication tests are passing but gihutb tests are not: the series is on top of Serge's branch `sp/gh-6034-empty-limbo-transition` which is failing yet. Vlad, back to your question about one single test for CONFIRM/ROLLBACK packet filtering > Is it the only issue? What about ROLLBACK coming to > an instance, which already made PROMOTE on the rolled back > data? That is a part of the original problem in the ticket. if any confirm/rollback comes at the moment when our limbo is already empty I think we can't do anything, there is no data to investigate and the node should rejoin from the scratch, or you have something else in mind? If yes, then we can extend our confirm/rollback filter chain with more cases. We've a long discussion with Serge about current packet validation in PROMOTE/DEMOTE filter so I reworked the validation a lot, please take a look. previous series https://lists.tarantool.org/tarantool-patches/20210730113539.563318-1-gorcunov@gmail.com/ branch gorcunov/gh-6036-rollback-confirm-10-notest issue https://github.com/tarantool/tarantool/issues/6036 v6: - use txn_limbo_terms name for structure - rebase on fresh sp/gh-6034-empty-limbo-transition branch - rework filtering chains v8: - add ability to disable filtering for local recovery and join stages - update tests v9: - opencode terms tracking - fix tests to use wait function since log output might be deferred by OS v10: - rework FILTER_IN and FILTER_PROMOTE chains with more detailed packets inspection - preserve old naming for terms manipulations - require the packet's replica_id to match limbo owner_id all the time Cyrill Gorcunov (4): latch: add latch_is_locked helper limbo: order access to the limbo terms limbo: filter incoming synchro requests test: add replication/gh-6036-rollback-confirm src/box/applier.cc | 31 +- src/box/box.cc | 11 +- src/box/memtx_engine.c | 3 +- src/box/txn_limbo.c | 367 ++++++++++++++++-- src/box/txn_limbo.h | 79 +++- src/lib/core/latch.h | 11 + test/replication/gh-6036-master.lua | 1 + test/replication/gh-6036-node.lua | 33 ++ test/replication/gh-6036-replica.lua | 1 + .../gh-6036-rollback-confirm.result | 180 +++++++++ .../gh-6036-rollback-confirm.test.lua | 92 +++++ 11 files changed, 757 insertions(+), 52 deletions(-) create mode 120000 test/replication/gh-6036-master.lua create mode 100644 test/replication/gh-6036-node.lua create mode 120000 test/replication/gh-6036-replica.lua create mode 100644 test/replication/gh-6036-rollback-confirm.result create mode 100644 test/replication/gh-6036-rollback-confirm.test.lua base-commit: 9b668f4f8508ee890f4b643b0f9ec16024939bff -- 2.31.1
next reply other threads:[~2021-08-04 19:07 UTC|newest] Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-08-04 19:07 Cyrill Gorcunov via Tarantool-patches [this message] 2021-08-04 19:07 ` [Tarantool-patches] [PATCH v10 1/4] latch: add latch_is_locked helper Cyrill Gorcunov via Tarantool-patches 2021-08-04 19:07 ` [Tarantool-patches] [PATCH v10 2/4] limbo: order access to the limbo terms Cyrill Gorcunov via Tarantool-patches 2021-08-05 23:29 ` Vladislav Shpilevoy via Tarantool-patches 2021-08-06 15:20 ` Cyrill Gorcunov via Tarantool-patches 2021-08-08 14:34 ` Vladislav Shpilevoy via Tarantool-patches 2021-08-09 16:24 ` Cyrill Gorcunov via Tarantool-patches 2021-08-10 12:27 ` Vladislav Shpilevoy via Tarantool-patches 2021-08-10 12:57 ` Cyrill Gorcunov via Tarantool-patches 2021-08-23 11:32 ` Serge Petrenko via Tarantool-patches 2021-08-23 11:41 ` Cyrill Gorcunov via Tarantool-patches 2021-09-01 16:04 ` Cyrill Gorcunov via Tarantool-patches 2021-08-04 19:07 ` [Tarantool-patches] [PATCH v10 3/4] limbo: filter incoming synchro requests Cyrill Gorcunov via Tarantool-patches 2021-08-05 23:33 ` Vladislav Shpilevoy via Tarantool-patches 2021-08-06 19:01 ` Cyrill Gorcunov via Tarantool-patches 2021-08-08 11:43 ` Vladislav Shpilevoy via Tarantool-patches 2021-08-08 22:35 ` Cyrill Gorcunov via Tarantool-patches 2021-08-10 12:31 ` Vladislav Shpilevoy via Tarantool-patches 2021-08-10 14:36 ` Cyrill Gorcunov via Tarantool-patches 2021-08-12 16:59 ` Vladislav Shpilevoy via Tarantool-patches 2021-08-04 19:07 ` [Tarantool-patches] [PATCH v10 4/4] test: add replication/gh-6036-rollback-confirm Cyrill Gorcunov via Tarantool-patches 2021-08-05 9:38 ` [Tarantool-patches] [PATCH v10 0/4] limbo: implement packets filtering Cyrill Gorcunov via Tarantool-patches 2021-08-05 23:29 ` Vladislav Shpilevoy via Tarantool-patches 2021-08-08 22:03 ` Cyrill Gorcunov via Tarantool-patches
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=20210804190752.488147-1-gorcunov@gmail.com \ --to=tarantool-patches@dev.tarantool.org \ --cc=gorcunov@gmail.com \ --cc=v.shpilevoy@tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH v10 0/4] limbo: implement packets filtering' \ /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