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

Re: Flurries of 'git reflog expire'

From
Andreas Krey <a.krey@gmx.de>
Date
Jul 6, 2017, 13:31 UTC
Message-ID
<20170706133124.GB1216@inner.h.apk.li>
In-Reply-To
<20170705082027.ujddejajjlvto7bp@sigill.intra.peff.net>
On Wed, 05 Jul 2017 04:20:27 +0000, Jeff King wrote:
> On Tue, Jul 04, 2017 at 09:57:58AM +0200, Andreas Krey wrote:
...
> I seem to recall that using --stale-fix is also extremely expensive,
> too. What do the command line arguments for the slow commands look like?

The problem isn't that the expire is slow, it is that there are many of them, waiting for disk writes.

> And what does the process tree look like?
Lots (~ 10) of
          \_ /usr/bin/git receive-pack /opt/apps/atlassian/bitbucket-data/shared/data/repositories/68
          |   \_ git gc --auto --quiet
          |       \_ git reflog expire --all

plus another dozen gc/expire pairs where the parent is already gone. All with the same arguments - auto GC.

I'd wager that each push sees that a GC is in order, and doesn't notice that there is one already running.

- Andreas
-- 
"Totally trivial. Famous last words."
From: Linus Torvalds <torvalds@*.org>
Date: Fri, 22 Jan 2010 07:29:21 -0800
Previous: Jeff KingNext: Bryan Turner
Message 5 of 15 in “Flurries of 'git reflog expire'”
  1. Andreas KreyJul 4, 2017
  2. Ævar Arnfjörð BjarmasonJul 4, 2017
  3. Andreas KreyJul 6, 2017
  4. Jeff KingJul 5, 2017
  5. Andreas KreyJul 6, 2017
  6. Bryan TurnerJul 6, 2017
  7. Andreas KreyJul 11, 2017
  8. [BUG] detached auto-gc does not respect lock for 'reflog expire', was Re: Flurries of 'git reflog expire'Jeff King, Jul 11, 2017
  9. gc: run pre-detach operations under lockJeff King, Jul 11, 2017
  10. Junio C HamanoJul 12, 2017
  11. Jeff KingJul 12, 2017
  12. Junio C HamanoJul 12, 2017
  13. Bryan TurnerJul 11, 2017
  14. Jeff KingJul 11, 2017
  15. Jeff KingJul 11, 2017

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.