Branch: refs/heads/master
  Home:   https://github.com/tarantool/tarantool
  Commit: a28c57bf70aa4dffb45601cbacc6eb7e5f4f4369
      
https://github.com/tarantool/tarantool/commit/a28c57bf70aa4dffb45601cbacc6eb7e5f4f4369
  Author: Konstantin Osipov <[email protected]>
  Date:   2013-08-21 (Wed, 21 Aug 2013)

  Changed paths:
    M connector/c/include/tarantool/tnt_log.h
    M connector/c/tntrpl/tnt_rpl.c
    M include/errcode.h
    M include/log_io.h
    M include/recovery.h
    M src/bootstrap.snap
    M src/box/CMakeLists.txt
    M src/box/bitset_index.cc
    M src/box/box.cc
    M src/box/box_lua.cc
    M src/box/box_lua_space.cc
    M src/box/box_lua_space.h
    M src/box/hash_index.cc
    M src/box/index.cc
    M src/box/index.h
    M src/box/key_def.cc
    M src/box/key_def.h
    M src/box/lua/box.lua
    M src/box/request.cc
    A src/box/schema.cc
    A src/box/schema.h
    M src/box/space.cc
    M src/box/space.h
    M src/box/tree_index.cc
    M src/box/tuple.cc
    M src/box/tuple.h
    M src/box/tuple_update.cc
    M src/box/txn.cc
    M src/log_io.cc
    M src/lua/uuid.lua
    M src/memcached.cc
    M src/recovery.cc
    M src/replica.cc
    M test/big/bitset.result
    M test/big/hash.result
    M test/big/hash_multipart.result
    M test/big/tree_pk.result
    M test/big/tree_variants.result
    M test/box/bad_record.xlog
    M test/box/dup_key1.xlog
    M test/box/dup_key2.xlog
    M test/box/just_header.xlog
    M test/box/lua.result
    M test/box/lua_misc.result
    M test/box/snapshot.result
    M test/box/snapshot.test.py
    A test/box/snapshot_1_3.result
    A test/box/snapshot_1_3.test.py
    M test/box/sql.result
    M test/box/suite.ini
    M test/box/unfinished.xlog
    M test/connector_c/connector.snap
    M test/connector_c/connector.xlog
    M test/lib/sql_ast.py

  Log Message:
  -----------
  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]



_______________________________________________
Mailing list: https://launchpad.net/~tarantool-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~tarantool-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to