My favorites | Sign in
Project Home Downloads Wiki Issues Source
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 2: Limit fetch/clone through internal sshd when git:// is available
  Back to list
Status:  WontFix
Owner:  ----
Closed:  Dec 2009


Sign in to add a comment
 
Reported by code-rev...@gtempaccount.com, Sep 24, 2009
Reported by Shawn Pearce <sop@google.com> on Wed Jan 07 16:03:42 PST 2009
Source: JIRA GERRIT-2
Affected Version: 2.0

The internal sshd and git upload-pack implementations aren't nearly as
efficient as the native C git daemon is.  Serving a full repository over the
sshd is very CPU intensive and takes longer than serving that same repository
over git:// using the native C implementation.

If the project is available over git:// through the native C daemon (meaning
its access isn't restricted) we should encourage users to use that port
whenever possible by denying large fetch requests made through the ssd port.

This likely requires inserting a limiter into JGit's UploadPack
implementation, where we can abort the "counting" phase of the ObjectWriter if
more than X objects are included in the result set.  This way small
incremental fetches can be done over the ssh port, as its more convenient to
the user to have one URL they common fetch/push through, but larger ones can
be aborted to save server resources.
Sep 24, 2009
#1 code-rev...@gtempaccount.com
Comment by Shawn Pearce <sop@google.com> on Mon Mar 09 18:13:44 PDT 2009

Another option is to implement some aggressive caching in JGit, such that we
can avoid much of the recomputation costs with sending packs to clients.  That
would make it unnecessary to implement a limitation on clones, as we could
more efficiently serve the client as-is.
Sep 24, 2009
#2 sop+code@google.com
(No comment was entered for this change.)
Status: Accepted
Owner: ---
Labels: -Priority-Major -Type-Bug Priority-Minor Type-Feature
Dec 17, 2009
#3 sop@google.com
git-upload-pack performance through Gerrit is actually fairly
efficient these days, especially in 2.1 and later, and we're
only trying to make it faster.

There's no point in blocking a user from cloning from us.
Status: WontFix
Labels: FixedIn-2.1
Sign in to add a comment

Powered by Google Project Hosting