Modify format of server snapshot to version 12.
The new server snapshot format is identical to format of XLOG, i.e. it contains REPLACE statements with BOX_INSERT flags for every tuple in a space. This allows to streamline recovery, since rows from a snapshot can be treated the same as rows from the write ahead log (XLOG). This is an incompatible change: - tarantool 1.5 won't be able to read data of tarantool 1.6 - tarantool 1.6, without extra effort, won't be able to read data of tarantool 1.5 (a conversion procedure is needed). This change as such doesn't break replication, but further changes are in the pipeline which will inevitably finish this matter up as well. Why this patch is necessary --------------------------- To create system spaces dict-v5 branch employs on_replace triggers mechanism, fired off by txn_replace(). Thus it's vital that all changes go into spaces using txn_replace(). What else this patch does ------------------------- - since now XLOG and SNAP have the same format, log_io.cc code has become a bit simpler - struct key_def is re-factored to simplify dynamic creation/deletion of keys - reference counting for tuple formats is added - a number of error messages is improved to provide part no in a multipart key. - space cache is split away from space.cc into a separate module, schema.[h,cc]
Showing
- connector/c/include/tarantool/tnt_log.h 1 addition, 1 deletionconnector/c/include/tarantool/tnt_log.h
- connector/c/tntrpl/tnt_rpl.c 1 addition, 1 deletionconnector/c/tntrpl/tnt_rpl.c
- include/errcode.h 5 additions, 5 deletionsinclude/errcode.h
- include/log_io.h 12 additions, 12 deletionsinclude/log_io.h
- include/recovery.h 1 addition, 1 deletioninclude/recovery.h
- src/bootstrap.snap 0 additions, 0 deletionssrc/bootstrap.snap
- src/box/CMakeLists.txt 1 addition, 0 deletionssrc/box/CMakeLists.txt
- src/box/bitset_index.cc 3 additions, 3 deletionssrc/box/bitset_index.cc
- src/box/box.cc 23 additions, 64 deletionssrc/box/box.cc
- src/box/box_lua.cc 7 additions, 6 deletionssrc/box/box_lua.cc
- src/box/box_lua_space.cc 3 additions, 3 deletionssrc/box/box_lua_space.cc
- src/box/box_lua_space.h 3 additions, 1 deletionsrc/box/box_lua_space.h
- src/box/hash_index.cc 12 additions, 12 deletionssrc/box/hash_index.cc
- src/box/index.cc 21 additions, 18 deletionssrc/box/index.cc
- src/box/index.h 2 additions, 2 deletionssrc/box/index.h
- src/box/key_def.cc 10 additions, 9 deletionssrc/box/key_def.cc
- src/box/key_def.h 31 additions, 9 deletionssrc/box/key_def.h
- src/box/lua/box.lua 0 additions, 2 deletionssrc/box/lua/box.lua
- src/box/request.cc 8 additions, 7 deletionssrc/box/request.cc
- src/box/schema.cc 435 additions, 0 deletionssrc/box/schema.cc
Loading
Please register or sign in to comment