[tarantool-patches] [PATCH 0/2] vinyl: zap upsert_format

  • From: Vladimir Davydov <vdavydov.dev@xxxxxxxxx>
  • To: kostja@xxxxxxxxxxxxx
  • Date: Fri, 30 Mar 2018 18:47:17 +0300

The sole purpose of a special format for UPSERT statements is that we
need to store UPSERT counter for them so that we can schedule UPSERT
squashing as soon as the number of UPSERTs for the same key exceeds a
certain threshold.

However, we only need to maintain the UPSERT counter for statements of
the memory level, so instead of maintaining yet another tuple format,
we can allocate the UPSERT counter on lsregion, near the tuple it is
for. This simplifies the code a great deal and eases implementation of
online ALTER.

https://github.com/tarantool/tarantool/tree/vy-zap-upsert-format

Vladimir Davydov (2):
  vinyl: allocate upsert counter on lsregion
  vinyl: zap upsert_format

 src/box/vinyl.c                 | 33 +++----------------
 src/box/vy_lsm.c                | 48 ++++++++-------------------
 src/box/vy_lsm.h                |  5 ---
 src/box/vy_mem.c                | 15 +++------
 src/box/vy_mem.h                |  6 +---
 src/box/vy_point_lookup.c       |  6 ++--
 src/box/vy_read_iterator.c      |  5 ++-
 src/box/vy_run.c                | 33 ++++++++-----------
 src/box/vy_run.h                | 11 ++-----
 src/box/vy_scheduler.c          |  8 ++---
 src/box/vy_stmt.c               | 72 ++++++++++++-----------------------------
 src/box/vy_stmt.h               | 49 +++++++++-------------------
 src/box/vy_tx.c                 |  9 ++----
 src/box/vy_upsert.c             | 11 +++----
 src/box/vy_upsert.h             |  3 +-
 src/box/vy_write_iterator.c     | 27 ++++++----------
 src/box/vy_write_iterator.h     |  8 ++---
 test/unit/vy_cache.c            | 11 +++----
 test/unit/vy_iterators_helper.c | 28 ++++++----------
 test/unit/vy_iterators_helper.h |  4 ---
 test/unit/vy_point_lookup.c     | 18 ++++-------
 test/unit/vy_write_iterator.c   |  6 ++--
 22 files changed, 125 insertions(+), 291 deletions(-)

-- 
2.11.0


Other related posts:

  • » [tarantool-patches] [PATCH 0/2] vinyl: zap upsert_format - Vladimir Davydov