# Git push slowly under 1000M/s network

4 messages from 2012-10-23 to 2012-10-25. Participants: Joey Jiao, Shawn Pearce.
Thread: https://gitlist.dev/t/31913

## Joey Jiao, 2012-10-23 06:27

Subject: Git push slowly under 1000M/s network
Message-ID: <CAKOmCvp23fALGsDe4Ck7ZXpMJmOAq+YWCXPe_xb6GfQcjJi_kQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAKOmCvp23fALGsDe4Ck7ZXpMJmOAq%2BYWCXPe_xb6GfQcjJi_kQ%40mail.gmail.com

```
Hi Git Listeners,
I'm facing one problem when pushing to git repository via gerrit port.
Don't stop to look into the below content, as I doubt it might be a
git problem.

The pushing takes me 7mins~11mins each time every I had git gc on remote.
The remote server is 24 core with scsi disk. And the connection is
within 1000M/s intranet.
The pushing is only slowly on this kernel project, but faster on other
android projects, takes seconds only.
I tried on 4 core and 24 core clients to do the push, the time is
almost the same. So I think it's not the client problem.

The command I use as below. I also tried to pushing to git repository
directly, it is also slow, only some seconds benifit. So I think it
might be not the gerrit problem.
$ git push -v ssh://remote_url:29418/kernel/msm.git HEAD:refs/changes/33599
The stderr stops at remote: Resolving deltas:   0% (0/2) for 99% of the time.

I added some timestamp in the git source code, Like git version 1.8.0.
The receive_status called by send_pack inside send-pack.c takes the
99% of the time.

It looks like the client is waiting the pushing result status from
server although by checking server side, the real object has already
been upload succeed.

Below is the log after adding time info.
$ time git push -v ssh://git.qrd.qualcomm.com:29418/kernel/msm.git
HEAD:refs/changes/33599 2>&1|tee -a log.txt
Pushing to ssh://git.qrd.qualcomm.com:29418/kernel/msm.git
error: Time start packet_flush: Tue Oct 23 14:14:47 2012

error: Time finish packet_trace: Tue Oct 23 14:14:47 2012

error: Time finish safe_write: Tue Oct 23 14:14:47 2012

error: Time start receive_status: Tue Oct 23 14:14:47 2012

remote: Resolving deltas:   0% (0/2)
remote: (W) afafdad: no files changed, message updated
error: Time start packet_read_line: Tue Oct 23 14:24:41 2012
, len=10
error: Time packet_read_line: Tue Oct 23 14:24:41 2012
, len=22
error: Time packet_read_line: Tue Oct 23 14:24:41 2012
, len=0
error: Time finish receive_status: Tue Oct 23 14:24:41 2012

To ssh://git.qrd.qualcomm.com:29418/kernel/msm.git
 * [new branch]      HEAD -> refs/changes/33599

real	9m56.928s
user	0m0.364s
sys	0m0.160s
-- 
-Joey Jiao

```

## Joey Jiao, 2012-10-23 10:11

Subject: Re: Git push slowly under 1000M/s network
Message-ID: <CAKOmCvrn8rs7STwu8jdbwWvre6Gpa9PxvDvtpAM=N_W6=Up5TA@mail.gmail.com>
URL: https://gitlist.dev/e/CAKOmCvrn8rs7STwu8jdbwWvre6Gpa9PxvDvtpAM%3DN_W6%3DUp5TA%40mail.gmail.com
In-Reply-To: <CAKOmCvp23fALGsDe4Ck7ZXpMJmOAq+YWCXPe_xb6GfQcjJi_kQ@mail.gmail.com>

```
Well, after checked pushing directly to git which takes only 6
seconds. So it should be not a issue of git in c. But might be an
issue with jgit or gerrit.

2012/10/23 Joey Jiao <joey.jiaojg@gmail.com>:
> Hi Git Listeners,
> I'm facing one problem when pushing to git repository via gerrit port.
> Don't stop to look into the below content, as I doubt it might be a
> git problem.
>
> The pushing takes me 7mins~11mins each time every I had git gc on remote.
> The remote server is 24 core with scsi disk. And the connection is
> within 1000M/s intranet.
> The pushing is only slowly on this kernel project, but faster on other
> android projects, takes seconds only.
> I tried on 4 core and 24 core clients to do the push, the time is
> almost the same. So I think it's not the client problem.
>
> The command I use as below. I also tried to pushing to git repository
> directly, it is also slow, only some seconds benifit. So I think it
> might be not the gerrit problem.
> $ git push -v ssh://remote_url:29418/kernel/msm.git HEAD:refs/changes/33599
> The stderr stops at remote: Resolving deltas:   0% (0/2) for 99% of the time.
>
> I added some timestamp in the git source code, Like git version 1.8.0.
> The receive_status called by send_pack inside send-pack.c takes the
> 99% of the time.
>
> It looks like the client is waiting the pushing result status from
> server although by checking server side, the real object has already
> been upload succeed.
>
> Below is the log after adding time info.
> $ time git push -v ssh://git.qrd.qualcomm.com:29418/kernel/msm.git
> HEAD:refs/changes/33599 2>&1|tee -a log.txt
> Pushing to ssh://git.qrd.qualcomm.com:29418/kernel/msm.git
> error: Time start packet_flush: Tue Oct 23 14:14:47 2012
>
> error: Time finish packet_trace: Tue Oct 23 14:14:47 2012
>
> error: Time finish safe_write: Tue Oct 23 14:14:47 2012
>
> error: Time start receive_status: Tue Oct 23 14:14:47 2012
>
> remote: Resolving deltas:   0% (0/2)
> remote: (W) afafdad: no files changed, message updated
> error: Time start packet_read_line: Tue Oct 23 14:24:41 2012
> , len=10
> error: Time packet_read_line: Tue Oct 23 14:24:41 2012
> , len=22
> error: Time packet_read_line: Tue Oct 23 14:24:41 2012
> , len=0
> error: Time finish receive_status: Tue Oct 23 14:24:41 2012
>
> To ssh://git.qrd.qualcomm.com:29418/kernel/msm.git
>  * [new branch]      HEAD -> refs/changes/33599
>
> real    9m56.928s
> user    0m0.364s
> sys     0m0.160s
> --
> -Joey Jiao



-- 
-Joey Jiao

```

## Shawn Pearce, 2012-10-23 17:09

Subject: Re: Git push slowly under 1000M/s network
Message-ID: <CAJo=hJuGksy7pzzy7-7eTUxNmtT9qR2xCPxSfYO58_8SohFjxQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAJo%3DhJuGksy7pzzy7-7eTUxNmtT9qR2xCPxSfYO58_8SohFjxQ%40mail.gmail.com
In-Reply-To: <CAKOmCvp23fALGsDe4Ck7ZXpMJmOAq+YWCXPe_xb6GfQcjJi_kQ@mail.gmail.com>

```
On Mon, Oct 22, 2012 at 11:27 PM, Joey Jiao <joey.jiaojg@gmail.com> wrote:
> It looks like the client is waiting the pushing result status from
> server although by checking server side, the real object has already
> been upload succeed.
>
> Below is the log after adding time info.
> $ time git push -v ssh://git.qrd.qualcomm.com:29418/kernel/msm.git
> HEAD:refs/changes/33599 2>&1|tee -a log.txt
...
> remote: Resolving deltas:   0% (0/2)
> remote: (W) afafdad: no files changed, message updated
...
> real    9m56.928s
> user    0m0.364s
> sys     0m0.160s

What version of Gerrit are you using?
How many changes already exist in this project?

I am fairly certain this is an issue with Gerrit. Which may be better
discussed at http://groups.google.com/group/repo-discuss

```

## Joey Jiao, 2012-10-25 05:04

Subject: Re: Git push slowly under 1000M/s network
Message-ID: <CAKOmCvruvHPmwz1CDbS1pJPgHZXuUP8p-tdeumxLB=ShAdw4Rg@mail.gmail.com>
URL: https://gitlist.dev/e/CAKOmCvruvHPmwz1CDbS1pJPgHZXuUP8p-tdeumxLB%3DShAdw4Rg%40mail.gmail.com
In-Reply-To: <CAJo=hJuGksy7pzzy7-7eTUxNmtT9qR2xCPxSfYO58_8SohFjxQ@mail.gmail.com>

```
Yes, I believe it's gerrit problem and will discuss there.
During first minutes of restarting gerrit, the pushing becomes quite
faster 13s instead.

2012/10/24 Shawn Pearce <spearce@spearce.org>:
> On Mon, Oct 22, 2012 at 11:27 PM, Joey Jiao <joey.jiaojg@gmail.com> wrote:
>> It looks like the client is waiting the pushing result status from
>> server although by checking server side, the real object has already
>> been upload succeed.
>>
>> Below is the log after adding time info.
>> $ time git push -v ssh://git.qrd.qualcomm.com:29418/kernel/msm.git
>> HEAD:refs/changes/33599 2>&1|tee -a log.txt
> ...
>> remote: Resolving deltas:   0% (0/2)
>> remote: (W) afafdad: no files changed, message updated
> ...
>> real    9m56.928s
>> user    0m0.364s
>> sys     0m0.160s
>
> What version of Gerrit are you using?
> How many changes already exist in this project?
>
> I am fairly certain this is an issue with Gerrit. Which may be better
> discussed at http://groups.google.com/group/repo-discuss



-- 
-Joey Jiao

```
