Skip to content
Snippets Groups Projects
  1. Apr 10, 2017
  2. Apr 07, 2017
  3. Apr 06, 2017
  4. Apr 05, 2017
  5. Apr 04, 2017
  6. Apr 03, 2017
    • Vladislav Shpilevoy's avatar
      vinyl: reset max_dump_size in compact_new() · 55685eaf
      Vladislav Shpilevoy authored
      The dump of index-wide run can start when compaction of one or more
      ranges is in progress (see #2209). If we reset the max_dump_size and
      compact_priority in compact_complete, there can be the following case:
      
         compact_prio = x      compact_prio = y > x   compact_prio = 0
          |                 |                       |    => y has lost.
          +-----------------|-----------------------+
          |                 compact                 |
          +-----------------|-----------------------+
               +------------+
               |    dump    |
               +------------+
      
      Reset the compact_priority and max_dump_size in compact_new() and
      restore the saved values on abort.
      
      Needed for #2209
      55685eaf
    • Vladislav Shpilevoy's avatar
      vinyl: remember the last dumped key during dump task · e98648e7
      Vladislav Shpilevoy authored
      For all pages except the last we use its min_key as the left border
      and min_key of the next page as the right border. The last page doesn't
      have the right neighbour, so there is no way to determine its bounds.
      This patch add a right border for the last page to vy_task.
      
      This feature is needed to split correctly index-wide runs into ranges
      during compaction (#2209).
      
                                    Index-wide run
                     +-------------------------------------------+
                     |  page 1  |  page 2  |  page 3  |  page N  |  <--- max key
                     +-------------------------------------------+
      +-----------+-------------+---------------------+-------------+---------+
      | range 1   |   range 2   |       range 3       |   range 4   | range 5 |
      +-----------+-------------+---------------------+-------------+---------+
      
      Page N uses dump_task.max_written_key as its right border.
      e98648e7
    • Vladislav Shpilevoy's avatar
      vinyl: split vy_range_get_write_iterator into two functions · f3ecce75
      Vladislav Shpilevoy authored
      First, the vy_range_get_dump_iterator(), to merge frozen in-memory
      indexes.
      Second, the vy_range_get_compact_iterator(), to merge fozen
      in-memory indexes and some runs.
      
      Needed for #2209
      f3ecce75
    • Vladislav Shpilevoy's avatar
      vinyl: introduce vy_range.is_level_zero flag · f3764063
      Vladislav Shpilevoy authored
      During transition process to the single mem per index architecture we plan
      to use special ranges to handle index-wide runs. Add a flag to vy_log to
      distinguish between regular ranges and ranges used for index-wide runs.
      
      Needed for #2209
      f3764063
    • Vladislav Shpilevoy's avatar
  7. Mar 31, 2017
Loading