Last modified: 2014-11-07 14:01:19 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T53142, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 51142 - [Trebuchet] git fetch writes corrupted objects when its connection to the web service is lost during fetch
[Trebuchet] git fetch writes corrupted objects when its connection to the web...
Status: NEW
Product: Wikimedia
Classification: Unclassified
Deployment systems (Other open bugs)
wmf-deployment
All All
: Normal critical (vote)
: ---
Assigned To: Ryan Lane
deploysprint-13
:
Depends on:
Blocks: 43338
  Show dependency treegraph
 
Reported: 2013-07-10 23:12 UTC by Ryan Lane
Modified: 2014-11-07 14:01 UTC (History)
4 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Ryan Lane 2013-07-10 23:12:36 UTC
While git fetch is being run, if it loses its connection with the web server it'll write out a corrupted object and will refuse to run git fetch again until the corrupted object is restored. Fixing the objects is not a sane process, basically making the repo unusable.

We should determine if python-dulwich is a viable replacement or we should fix git cli upstream.
Comment 1 Antoine "hashar" Musso (WMF) 2013-07-11 08:19:18 UTC
I had a look at the git release notes between 1.7.9.5 (used on Precise) and 1.8.4 and have not found anything obvious.

Do you get a way to reproduce this reliably?  I guess you want the issue reported upstream they might have some hints as to how to reproduce that.
Comment 2 Greg Grossmeier 2013-07-11 17:22:37 UTC
The one person I could think of who would have addressed this already (Joey Hess, author of git-annex), hasn't. Booo.
Comment 3 Ryan Lane 2013-07-11 19:10:57 UTC
Via google I found some behavior similar to ours. Tim didn't notice any http disconnects in the Apache logs, but the system was under very heavy load when this occurred.

http://stackoverflow.com/questions/7366907/git-clone-issue-clone-fails-with-corrupted-mac-on-input

http://blog.e-shell.org/270
Comment 4 Greg Grossmeier 2014-02-12 19:12:09 UTC
There are two ways of addressing this:
1) making it so git fetch never fails (heh)
2) dealing with failures intelligently.

For 2, we now have http://git-repair.branchable.com/

I propose that git-repair be integrated with trebuchet (obviously as a recommended addition, not a hard requirement, since it is Haskell).

Reported upstream:
https://github.com/trebuchet-deploy/trebuchet/issues/8
Comment 5 Ryan Lane 2014-03-08 04:33:19 UTC
It looks like this is packaged, but not in precise. Needs a backport: http://packages.ubuntu.com/trusty/utils/git-repair
Comment 6 Greg Grossmeier 2014-09-22 21:54:48 UTC
(In reply to Ryan Lane from comment #5)
> It looks like this is packaged, but not in precise. Needs a backport:
> http://packages.ubuntu.com/trusty/utils/git-repair

As we're migrating to Trusty, this is probably less of a concern. What else is blocking this? (Is it still needed?)
Comment 7 Andre Klapper 2014-11-07 14:01:19 UTC
(In reply to Ryan Lane from comment #5)
> It looks like this is packaged, but not in precise. Needs a backport:
> http://packages.ubuntu.com/trusty/utils/git-repair

As we're migrating to Trusty, this is probably less of a concern. What else is blocking this? (Is it still needed?)

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links