Georgiy Lebedev
Georgiy Lebedev
`directly_replaced` stories can potentially get garbage collected in `memtx_tx_handle_gap_write`, which is unexpected and leads to 'use after free': in order to fix this, limit garbage collection points only to external...
When conflicting transactions that made full scans in `memtx_tx_handle_gap_write`, we need to also track that the conflicted transaction has read the inserted tuple, just like we do in gap tracking...
**Steps to reproduce** ```lua 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')...
When we rollback a transaction statement, we relink its read trackers to a newer story in the history chain, if present (6c990a7), but we do not handle the case when...
RTREE and BITSET indexes have inconsistent isolation levels ('read committed' instead of 'serializable', as stated): tracking reads for these indexes is quite sophisticated, so for now let's treat any index...
After reviewing #6877, @Totktonada proposed some suggestions and fixes: - [ ] return _autotools_ to _RHEL_ and _debian_ distribution dependencies; - [ ] refactor [default _GCC_ _CentOS_ _7_ workflow](https://github.com/tarantool/tarantool/blob/master/.github/workflows/default_gcc_centos_7.yml): make...
# Description _HASH_ index has a dubious 'GT' iterator type[^GT]: > The comparison operator is ‘>’ (greater than). If a hash of an index key is greater than a hash...
**Steps to reproduce** ```lua 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} local...
**Steps to reproduce** ```lua 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} local...
**Bug description** Consider the following fair assertion: ```diff diff --git a/src/box/memtx_tx.c b/src/box/memtx_tx.c index 2b858944b..362b80fbe 100644 --- a/src/box/memtx_tx.c +++ b/src/box/memtx_tx.c @@ -1234,6 +1234,7 @@ memtx_tx_story_full_unlink(struct memtx_story *story) if (story->del_psn > 0...