On Wed, Feb 8, 2017 at 3:24 PM, David Turner [off-list ref] wrote:
On Wed, 2017-02-08 at 13:45 +0700, Duy Nguyen wrote:
quoted
On Wed, Feb 8, 2017 at 8:03 AM, David Turner [off-list ref] wrote:
quoted
On Sat, 2016-12-17 at 14:50 +0700, Duy Nguyen wrote:
quoted
And we can't grep for fatal errors anyway. The problem that led to
329e6e8794 was this line
warning: There are too many unreachable loose objects; run 'git
prune' to remove them.
which is not fatal.
So, speaking of that message, I noticed that our git servers were
getting slow again and found that message in gc.log.
I propose to make auto gc not write that message either. Any objections?
Does that really help? auto gc would run more often, but unreachable
loose objects are still present and potentially make your servers
slow? Should these servers run periodic and explicit gc/prune?
At least pack files wouldn't accumulate. This is the major cause of
slowdown, since each pack file must be checked for each object.
(And, also, maybe those unreachable loose objects are too new to get
gc'd, but if we retry next week, we'll gc them).
I was about to suggest a config option that lets you run auto gc
unconditionally, which, I think, is better than suppressing the
message. Then I found gc.autoDetach. If you set it to false globally,
I think you'll get the behavior you want.
On second thought, perhaps gc.autoDetach should default to false if
there's no tty, since its main point it to stop breaking interactive
usage. That would make the server side happy (no tty there).
--
Duy