• Nick Thomas's avatar
    Run housekeeping after moving a repository between shards · 888ffdfa
    Nick Thomas authored
    The current inter-shard move is implemented as a `git fetch` from the
    original shard to an empty repository on the new shard. The repository
    on the new shard lacks bitmaps, and may be less well packed, than the
    repository on the old shard. This has a measurable performance impact.
    
    We may be changing from "FetchInternalRemote" to "ReplicateRepository"
    in the future, but until then, forcing housekeeping to run is a good
    performance optimisation - we trade off some short-term I/O load on the
    new shard for better performance across a wide range of RPCs, including
    an order-of-magnitude improvement in `IsAncestor`, which is the find
    that motivated this change.
    888ffdfa
gitaly-2108-repos-gc-after-move.yml 116 Bytes