Skip to content
Snippets Groups Projects
This project is mirrored from https://gitlab.com/gitlab-org/gitaly.git. Pull mirroring updated .
  1. Jun 24, 2025
  2. Jun 18, 2025
  3. Jun 17, 2025
  4. Jun 16, 2025
  5. Jun 15, 2025
  6. Jun 13, 2025
  7. Jun 12, 2025
  8. Jun 11, 2025
  9. Jun 10, 2025
  10. Jun 09, 2025
    • Eric Ju's avatar
      snapshot: Add snapshot filters · a28223ec
      Eric Ju authored
      Not all files are needed when creating a snapshot. For example,
      .lock files under refs/heads are unnecessary because the transaction
      manager already handles concurrency and conflict resolution.
      Therefore, we need a mechanism to define which files should be
      included in a snapshot and which should be excluded.
      
      This commit introduces two snapshot filter implementations:
      
      - Default filter: Previously, we had simple built-in logic that
      ignored the worktrees and gitlab-worktree directories.
      The default filter preserves this behavior to ensure consistency with
      the existing implementation.
      
      - Regex-based filter: This filter includes only files that match
      specific regular expression patterns, providing fine-grained control
      over what is included in snapshots.
      
      Filters are created when the snapshot manager constructs a new
      snapshot in (*Manager).newSnapshot(). Regular expressions for
      the regex-based filter are compiled at package level using
      regexp.MustCompile, so no filter-specific state needs to be
      initialized. A functional approach is used to keep the logic
      simple and stateless.
      
      Currently, only read-only snapshots use the regex-based filter.
      Other snapshot types continue to use the default filter for
      performance, simplicity and avoiding conflicts (a good conflict
      example can be found at
      https://gitlab.com/gitlab-org/gitaly/-/issues/5737#note_2527064466).
      a28223ec
    • Eric Ju's avatar
      featureflag: Add feature flag to control snapshot filter · 57297544
      Eric Ju authored
      This commit introduces a feature flag to enable or disable the
      snapshot filter. This allows us to gradually roll out or test the
      filter without affecting all environments.
      57297544
    • Sami Hiltunen's avatar
      42c36c24
    • Sami Hiltunen's avatar
      Fix flaky reftable migration tests · b13d7206
      Sami Hiltunen authored
      The reftable migration tests are not synchronized correctly which
      leads to flakiness.
      
      The test is accessing the repository directly on the disk to check
      its reference backend. By this time, it's guaranteed the migrator
      has committed the transaction. However, it isn't guaranteed the
      transaction has been applied. The test may assert against an arbitrary
      state in-between applying the transaction. This leads to test failures
      when the repository state doesn't match what Git expects.
      
      This has been patched around by running the test in a loop three
      times. This may hide some failures but doesn't actually fix the
      synchronization issue.
      
      Fix this problem by checking the reference backend through the API
      as normal clients would.
      b13d7206
  11. Jun 06, 2025
  12. Jun 05, 2025