Skip to content
Snippets Groups Projects
  1. Jan 31, 2017
  2. Jan 30, 2017
  3. Jan 29, 2017
  4. Jan 27, 2017
  5. Jan 26, 2017
  6. Jan 25, 2017
  7. Jan 24, 2017
    • Alexandr Lyapunov's avatar
      vinyl: add tuple cache with range support · d139a325
      Alexandr Lyapunov authored
      Closes #1692
      d139a325
    • Alexandr Lyapunov's avatar
      vinyl: refactor merge_iterator, prepare for tuple_cache · 7fde1b8d
      Alexandr Lyapunov authored
      Change order of traversal in merge iterator to direct,
      getting ready for avoiding reading from disk in case of cache hit
      7fde1b8d
    • Vladimir Davydov's avatar
      vinyl: keep track of range size on disk · 67a679b7
      Vladimir Davydov authored
      Required to check if a range should be coalesced with its neighbors.
      67a679b7
    • Vladimir Davydov's avatar
      vinyl: refactor range acct/unacct · 9d28b753
      Vladimir Davydov authored
       - Do not unaccount mem from the index and unlink it from the scheduler
         in vy_range_delete(), because it violates encapsulation. Let's just
         delete it there and leave accounting to specialized helpers, as we do
         in case of runs.
       - Delete vy_range_delete_mem() helper, because it has nothing to do
         with range - it unaccounts a mem from the *index* and removes it from
         the *scheduler*, and then frees it.
       - Make vy_index_{acct,unacct}_range() helpers handle mems as well, as
         those are a part of each range.
       - Drop vy_index_acct_range_dumped() helper. Use unacct/acct pair
         instead.
      
      Hopefully, ths patch makes the code easier to follow.
      9d28b753
    • Vladimir Davydov's avatar
      vinyl: rename vy_run_total -> vy_run_size · 50af355f
      Vladimir Davydov authored
      Besides vy_run_total(), which returns the size of run data file on disk,
      there's also vy_run_size() which returns the size of run and page info
      structs in memory. The latter doesn't make much sense, so let's drop it
      and rename vy_run_total() to vy_run_size().
      50af355f
    • Vladimir Davydov's avatar
      Fix vinyl/split test · d66b385c
      Vladimir Davydov authored
       - Generate random keys to prevent compression.
       - Expect 2 ranges, not 4, because we do not split a range unless
         it was compacted. We could make the test generate 4 ranges by
         issuing snapshot more often, but that would increase execution
         time, so leave it as is.
      d66b385c
    • Roman Tsisyk's avatar
      vinyl: fix a typo in vy_stmt_set_n_upserts() · 17de61e2
      Roman Tsisyk authored
      Follow up a49673c9
      17de61e2
    • Konstantin Osipov's avatar
      gh-1821: review fixes · 3866c687
      Konstantin Osipov authored
      * update the default level_size_ratio
      * rename level_size_ratio to run_size_ratio
      * rename max_runs_per_level to run_count_per_level
      3866c687
    • Vladimir Davydov's avatar
      vinyl: multi-level compaction · 9ad471ea
      Vladimir Davydov authored
      To follow the LSM tree design, group runs of the same range into levels.
      The division is ephemeral, it is recomputed after each dump and not
      stored in vy_range struct. The size of the first level is set to the
      largest run dumped since the last compaction. The size of each
      subsequent level is level_size_ratio times larger than previous one.
      When the number of runs at a level exceeds max_runs_per_level, all runs
      of the maximal level that exceeds the limitation as well as all runs and
      mems of preceding levels are compacted. max_runs_per_level and
      level_size_ratio are set in index config. By default, they equal to 2
      and 10, respectively.
      
      Closes #1821
      9ad471ea
    • Roman Tsisyk's avatar
      vinyl: rename vy_stmt_XXX_set(0) to vy_stmt_set_XXX() · a49673c9
      Roman Tsisyk authored
      Fix naming convention.
      a49673c9
  8. Jan 23, 2017
Loading