[PATCH 0/2] Allow to disable bloom filters for vinyl indexes

Vladimir Davydov vdavydov.dev at gmail.com
Sun Feb 18 19:05:55 MSK 2018


Bloom filters are not always necessary for all indexes on all workloads.
We've seen a real-world workload that doesn't use bloom filters of most
secondary indexes at all. If a bloom filter is unused, it's better to
disable it altogether, because it can consume a substantial chunk of
memory. This patch set makes it possible to disable bloom filters on a
per-index basis by setting bloom_fpr index option to 1.

Patch 1 introduces some sanity checks for bloom_fpr and other vinyl
index options that we forgot to add when we added the options while
patch 2 makes vinyl disable bloom filters if bloom_fpr is 1.

https://github.com/tarantool/tarantool/issues/3138
https://github.com/tarantool/tarantool/tree/gh-3138-vy-allow-to-disable-bloom

Vladimir Davydov (2):
  Check vinyl index options on box cfg and space alter
  vinyl: allow to disable bloom filter for index

 src/box/alter.cc                        | 30 +++++++++++++++----
 src/box/box.cc                          | 52 +++++++++++++++++++++++++++------
 src/box/vy_index.c                      |  8 ++---
 src/box/vy_run.c                        | 48 +++++++++++++++++++-----------
 src/box/vy_run.h                        |  6 ++++
 test/box-tap/cfg.test.lua               | 40 ++++++-------------------
 test/vinyl/bloom.result                 | 38 ++++++++++++++++++++++--
 test/vinyl/bloom.test.lua               | 16 ++++++++--
 test/vinyl/ddl.result                   | 40 +++++++++++++++++++++++++
 test/vinyl/ddl.test.lua                 | 11 +++++++
 test/vinyl/write_iterator_rand.result   | 16 +++++-----
 test/vinyl/write_iterator_rand.test.lua | 16 +++++-----
 12 files changed, 235 insertions(+), 86 deletions(-)

-- 
2.11.0




More information about the Tarantool-patches mailing list