gh-698: test and related fixes
* Fix gh-698: duplicate-key error followed by segfault * Add long_run test suite, which include test case from the ticket for memtx and sophia engines. Result files must be zero-diff Test script also has been fixed in a number of ways: a) crud operation on sophia space always return nil b) sophia_space:len() is not monotonous c) update of primary key is not allowed * Fix return of vclock_sum() as wal_writer() result, reuse it for txn->signature * Fixed incorrect tuple guard usage in execute_delete() * Fixed sophia delete operation: return old_tuple as an exception for SophiaIndex::replace(). Do not skip wal_write() and correctly set txn->signature * Put engine commit code after wal_write(), reuse proper txn->signature. Engine->commit yet can throw an exception on concurrent transaction conflict or error * rollback sophia transaction on conflict * add second test for gh-698; rename and disable zlong_run tests * make rollback statement engine specific * make txn_finish() engine specific; use it both by commit/rollback to gc * refactor execute_delete() * upgrade sophia submodule: efficient msgpack storage * engine api: style fixes
Showing
- src/box/engine.cc 6 additions, 0 deletionssrc/box/engine.cc
- src/box/engine.h 16 additions, 3 deletionssrc/box/engine.h
- src/box/errcode.h 1 addition, 0 deletionssrc/box/errcode.h
- src/box/lua/call.cc 1 addition, 1 deletionsrc/box/lua/call.cc
- src/box/memtx_engine.cc 31 additions, 0 deletionssrc/box/memtx_engine.cc
- src/box/memtx_engine.h 2 additions, 0 deletionssrc/box/memtx_engine.h
- src/box/recovery.cc 4 additions, 2 deletionssrc/box/recovery.cc
- src/box/request.cc 28 additions, 9 deletionssrc/box/request.cc
- src/box/sophia_engine.cc 35 additions, 13 deletionssrc/box/sophia_engine.cc
- src/box/sophia_engine.h 8 additions, 5 deletionssrc/box/sophia_engine.h
- src/box/sophia_index.cc 64 additions, 60 deletionssrc/box/sophia_index.cc
- src/box/sophia_index.h 0 additions, 1 deletionsrc/box/sophia_index.h
- src/box/txn.cc 16 additions, 51 deletionssrc/box/txn.cc
- src/box/txn.h 2 additions, 2 deletionssrc/box/txn.h
- test/box/misc.result 1 addition, 0 deletionstest/box/misc.result
- test/long_run/box.lua 21 additions, 0 deletionstest/long_run/box.lua
- test/long_run/memtx_delete_insert.result 11 additions, 0 deletionstest/long_run/memtx_delete_insert.result
- test/long_run/memtx_delete_insert.test.lua 5 additions, 0 deletionstest/long_run/memtx_delete_insert.test.lua
- test/long_run/memtx_dru.result 59 additions, 0 deletionstest/long_run/memtx_dru.result
- test/long_run/memtx_dru.test.lua 21 additions, 0 deletionstest/long_run/memtx_dru.test.lua
Loading
Please register or sign in to comment