mbox series

[0/3] commit-graph: introduce 'core.useBloomFilters'

Message ID cover.1593536481.git.me@ttaylorr.com (mailing list archive)
Headers show
Series commit-graph: introduce 'core.useBloomFilters' | expand

Message

Taylor Blau June 30, 2020, 5:17 p.m. UTC
Hi,

Here are some patches that we have been using at GitHub to control
whether or not Bloom filters stored in commit-graphs are read during
normal operation.

We're planning on using these patches as part of a two-phase roll-out of
changed-path Bloom filters, where the first phase conditions whether or
not repositories *write* Bloom filters, and the second phase (controlled
via the new 'core.useBloomFilters') controls whether repositories *read*
their Bloom filters.

This can also be handy for debugging purposes, say, for e.g., if Bloom
filters are suspected to be corrupt, they can be softly disabled without
dropping the rest of the data in the commit-graph.

Thanks in advance for your review.

-Taylor

Taylor Blau (3):
  commit-graph: pass a 'struct repository *' in more places
  t4216: fix broken '&&'-chain
  commit-graph: respect 'core.useBloomFilters'

 Documentation/config/core.txt |  5 +++++
 builtin/commit-graph.c        |  2 +-
 commit-graph.c                | 17 ++++++++++-------
 commit-graph.h                |  4 +++-
 fuzz-commit-graph.c           |  5 +++--
 repo-settings.c               |  3 +++
 repository.h                  |  1 +
 t/helper/test-read-graph.c    |  3 ++-
 t/t4216-log-bloom.sh          |  6 ++++--
 9 files changed, 32 insertions(+), 14 deletions(-)

--
2.27.0.224.g4cfa086e50

Comments

Taylor Blau Aug. 3, 2020, 7:02 p.m. UTC | #1
On Tue, Jun 30, 2020 at 01:17:36PM -0400, Taylor Blau wrote:
> Hi,
>
> Here are some patches that we have been using at GitHub to control
> whether or not Bloom filters stored in commit-graphs are read during
> normal operation.

I took the suggestions raised here and incorporated them into a
much-larger series that contains updated versions of these patches here:

  https://lore.kernel.org/git/20200803185947.GA67482@syl.lan/

This thread should be discarded, and future discussion redirected above.

Thanks.

>
> -Taylor
>
> Taylor Blau (3):
>   commit-graph: pass a 'struct repository *' in more places
>   t4216: fix broken '&&'-chain
>   commit-graph: respect 'core.useBloomFilters'
>
>  Documentation/config/core.txt |  5 +++++
>  builtin/commit-graph.c        |  2 +-
>  commit-graph.c                | 17 ++++++++++-------
>  commit-graph.h                |  4 +++-
>  fuzz-commit-graph.c           |  5 +++--
>  repo-settings.c               |  3 +++
>  repository.h                  |  1 +
>  t/helper/test-read-graph.c    |  3 ++-
>  t/t4216-log-bloom.sh          |  6 ++++--
>  9 files changed, 32 insertions(+), 14 deletions(-)
>
> --
> 2.27.0.224.g4cfa086e50

Thanks,
Taylor