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
Loading