[Tarantool-patches] [PATCH v23 0/3] qsync: implement packet filtering (part 1)

Cyrill Gorcunov gorcunov at gmail.com
Fri Oct 15 00:56:19 MSK 2021


Guys, please take a look once time permit, any comments are highly appreciated!

Serge, here are some important changes:

 - as being discussed verbally about limbo owner test I think most straight
   forward solution is to allow nesting txn_limbo_is_owner calls
 - in test I left the snippet

	 | -- Finally enable election_replica3 back. Make sure the data from new election_replica2
	 | -- leader get writing while old leader's data ignored.
	 | test_run:switch("election_replica3")
	 | box.error.injection.set('ERRINJ_WAL_DELAY', false)
	 | test_run:wait_cond(function() return box.space.test:get{2} ~= nil end)
	 | box.space.test:select{}

   untouched because final select{} does test for needed results so I don't need
   to count writes

The tests are passed locally but lets wait for complete CI results.

v22 (by SergeP):
 - use limbo emptiness test _after_ owner_id test
 - drop redundant assert in limbo commit/rollback
   since we're unlocking a latch anyway where own
   assertion present
 - in test: drop excessive wait_cond and setup wal
   delay earlier

v23 (by SergeP):
 - fix problem with owner test in case of recovery journal
 - update test

branch gorcunov/gh-6036-rollback-confirm-23
issue https://github.com/tarantool/tarantool/issues/6036
previous series https://lists.tarantool.org/tarantool-patches/20211011191635.573685-1-gorcunov@gmail.com/

Cyrill Gorcunov (3):
  latch: add latch_is_locked helper
  qsync: order access to the limbo terms
  test: add gh-6036-qsync-order test

 src/box/applier.cc                            |  12 +-
 src/box/box.cc                                |  15 +-
 src/box/relay.cc                              |  11 +-
 src/box/txn.c                                 |   2 +-
 src/box/txn_limbo.c                           |  49 ++++-
 src/box/txn_limbo.h                           |  87 +++++++-
 src/lib/core/latch.h                          |  11 +
 test/replication/gh-6036-qsync-order.result   | 190 ++++++++++++++++++
 test/replication/gh-6036-qsync-order.test.lua |  93 +++++++++
 test/replication/suite.cfg                    |   1 +
 test/replication/suite.ini                    |   2 +-
 test/unit/snap_quorum_delay.cc                |   5 +-
 12 files changed, 447 insertions(+), 31 deletions(-)
 create mode 100644 test/replication/gh-6036-qsync-order.result
 create mode 100644 test/replication/gh-6036-qsync-order.test.lua


base-commit: 4bca48611d7ae772ea095181349194c0c31f9a9b
-- 
2.31.1



More information about the Tarantool-patches mailing list