git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 0/2] builtin/maintenance: improve heuristic for "rerere gc"

From
Patrick Steinhardt <ps@pks.im>
Date
Sep 7, 2026, 06:15 UTC
Message-ID
<ap5WeY7o2dmAIn2B@pks.im>
In-Reply-To
<CAA0xjtrL8DJp61jp7s0L6L+RviwQz=-PEo7qZvCTh+8nT2cdfw@mail.gmail.com>
On Fri, Sep 04, 2026 at 06:53:59PM +0200, Thomas Bachem wrote:
Show 16 quoted lines
> Hi Junio,
> 
> On 04/09/2026 18:14, Junio C Hamano wrote:
> > So the two-patch series is not about what happens when two "rerere
> > gc" trigger in quick successions, and even with the "improve"d
> > heuristic, the second "rerere gc" would fail the same way when when
> > another one is already running?
> 
> Right, Patrick's series only makes the gc run less often. The lock
> itself is the subject of
> 
>   [PATCH v3] rerere: keep a background gc from killing a rebase
>   <pull.2214.v3.git.1788537081930.gitgitgadget@gmail.com>
> 
> where setup_rerere() waits rerere.lockTimeout for it and then goes on
> without rerere, and a gc that finds it held gives up at once.
Yes, exactly. This is really two issues:
  - rerere cannot handle concurrent writes at all, and will die
    immediately when somebody else has taken the lock. This is a
    long-standing issue, and should be fixed via Thomas' series that
    introduces a timeout for the lock.
  - The heuristic for garbage collecting rerere entries is way too
    trigger-friendly, which wastes resources and makes the above issue
    more likely to trigger.

So in the end, we want to have both patch series merged to address the issue from both ends.

Thanks!
Patrick
Previous: Thomas BachemNext: Patrick Steinhardt
Message 16 of 17 in “builtin/maintenance: improve heuristic for "rerere gc"”
  1. 0/2 builtin/maintenance: improve heuristic for "rerere gc"Patrick Steinhardt, Sep 3, 2026
  2. 1/2 rerere: extract logic to determine whether entries are stalePatrick Steinhardt, Sep 3, 2026
  3. Derrick StoleeSep 3, 2026
  4. Patrick SteinhardtSep 4, 2026
  5. 2/2 builtin/maintenance: improve heuristic for "rerere gc"Patrick Steinhardt, Sep 3, 2026
  6. Derrick StoleeSep 3, 2026
  7. Patrick SteinhardtSep 4, 2026
  8. Thomas BachemSep 3, 2026
  9. 0/2 builtin/maintenance: improve heuristic for "rerere gc"Patrick Steinhardt, Sep 4, 2026
  10. 1/2 rerere: extract logic to determine whether entries are stalePatrick Steinhardt, Sep 4, 2026
  11. 2/2 builtin/maintenance: improve heuristic for "rerere gc"Patrick Steinhardt, Sep 4, 2026
  12. Derrick StoleeSep 4, 2026
  13. Junio C HamanoSep 4, 2026
  14. Junio C HamanoSep 4, 2026
  15. Thomas BachemSep 4, 2026
  16. Patrick SteinhardtSep 7, 2026
  17. Patrick SteinhardtSep 7, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.