Skip to content

pr-1683/jltobler/jt/reftable-geometric-compaction-v4

Hello again,

This is the fourth version my patch series that refactors the reftable
compaction strategy to instead follow a geometric sequence. Changes compared
to v3:

 * Changed env name from GIT_TEST_REFTABLE_NO_AUTOCOMPACTION to
   GIT_TEST_REFTABLE_AUTOCOMPACTION and set the default to false. This
   should hopefully be a bit more intuitive since it avoids the double
   negative.
 * Updated the corresponding env var test in t0610-reftable-basics.sh to
   assert on the number of tables added and be overall less fragile.
 * Folded lines that were too long.
 * Updated some comments in stack.c to more accurately explain that table
   segment end is exclusive.
 * Dropped reftable/stack: make segment end inclusive commit to keep segment
   end exclusive and better follow expectations.

Thanks for taking a look!

-Justin

Justin Tobler (2):
  reftable/stack: add env to disable autocompaction
  reftable/stack: use geometric table compaction

 reftable/stack.c           | 126 +++++++++++++++++++------------------
 reftable/stack.h           |   3 -
 reftable/stack_test.c      |  66 ++++---------------
 reftable/system.h          |   1 +
 t/t0610-reftable-basics.sh |  65 +++++++++++++++----
 5 files changed, 132 insertions(+), 129 deletions(-)

base-commit: c75fd8d8150afdf836b63a8e0534d9b9e3e111ba

Submitted-As: https://lore.kernel.org/git/pull.1683.v4.git.1712103636.gitgitgadget@gmail.com
In-Reply-To: https://lore.kernel.org/git/pull.1683.git.1709669025722.gitgitgadget@gmail.com
In-Reply-To: https://lore.kernel.org/git/pull.1683.v2.git.1711060819.gitgitgadget@gmail.com
In-Reply-To: https://lore.kernel.org/git/pull.1683.v3.git.1711685809.gitgitgadget@gmail.com
Assets 2