Skip to content

MVCC repeatable read anomaly with REQ scan #11348

@CuriousGeorgiy

Description

@CuriousGeorgiy

Discovered with MVCC fuzzing (#5999).

Steps to reproduce

os.execute('rm -rf *.snap *.xlog *.vylog 512')

local json = require('json')
local log = require('log')
local txn_proxy = require('test.box.lua.txn_proxy')

box.cfg{memtx_use_mvcc_engine = true}

box.schema.space.create('v', {engine = 'vinyl'})
box.space.v:create_index('pk')

local tx1 = txn_proxy:new()
local tx2 = txn_proxy:new()

tx1('box.begin()')
tx1('box.space.v:insert{0}')
tx2('box.begin()')
log.info("%s", json.encode(tx2('box.space.v:select({1}, {iterator = "REQ", fullscan = true})')))
tx1('box.commit()')
log.info("%s", json.encode(tx2('box.space.v:get{0}')))

os.exit()

Actual behavior

I> [[]]
I> [[0]]

Expected behavior

I> [[]]
I> [[]]

Metadata

Metadata

Labels

mvccneeds feedbackSomething is unclear with the issuewontfixThis will not be worked on

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions