-
Notifications
You must be signed in to change notification settings - Fork 403
Closed
Labels
Description
Steps to reproduce
os.execute('rm -rf *.snap *.xlog *.vylog 512')
local ffi = require('ffi')
local log = require('log')
local txn_proxy = require('txn_proxy')
local yaml = require('yaml')
box.cfg{memtx_use_mvcc_engine = true}
box.schema.space.create('s')
box.space.s:create_index('pk', {parts = {{1, 'uint'}}})
box.space.s:create_index('sk', {parts = {{2, 'uint'}}})
local tx1 = txn_proxy:new()
local tx2 = txn_proxy:new()
tx1('box.begin()')
tx2('box.begin()')
tx1('box.space.s.index[1]:select({1}, {iterator = "LE", fullscan = true})')
tx1('box.space.s:insert{0, 1}')
-- Conflicts 1.
tx2('box.space.s:replace{1, 0}')
-- Conflicts 1.
tx2('box.commit()')
log.info("%s", yaml.encode(tx1('box.commit()')))
os.exit()os.execute('rm -rf *.snap *.xlog *.vylog 512')
local ffi = require('ffi')
local json = require('json')
local log = require('log')
local txn_proxy = require('txn_proxy')
box.cfg{memtx_use_mvcc_engine = true}
box.schema.space.create('s')
box.space.s:create_index('pk', {parts = {{1, 'uint'}}})
box.space.s:create_index('sk', {unique = false, parts = {{2, 'uint'}}})
local tx1 = txn_proxy:new()
local tx2 = txn_proxy:new()
tx1('box.begin()')
tx2('box.begin()')
tx1('box.space.s.index[1]:select({0}, {iterator = "EQ", fullscan = true})')
tx1('box.space.s:insert{2, 0}')
-- Conflicts 1.
tx2('box.space.s:replace{1, 0}')
-- Conflicts 1.
tx2('box.commit()')
log.info("%s", json.encode(tx1('box.commit()')))
os.exit()Actual behavior
---
...Expected behavior
---
- {'error': 'Transaction has been aborted by conflict'}
...Reactions are currently unavailable