Hi,
I'm running Gerrit 2.10 and replicating the gits (AOSP based repositories) to a mirror running git 2.3.0 .
During replication, from cold start, I will always see a TransportException error, something like below:
[2015-03-04 10:28:06,811] [52261008] Cannot replicate to gerrit2@10.123.1.123:/home/gerrit2/crux_replication/git/aosp/platform/frameworks/rs.git
org.eclipse.jgit.errors.TransportException: gerrit2@10.123.1.123:/home/gerrit2/crux_replication/git/aosp/platform/frameworks/rs.git: error occurred during unpacking on the remote end: unpack-objects abnormal exit
at org.eclipse.jgit.transport.BasePackPushConnection.readStatusReport(BasePackPushConnection.java:319)
at org.eclipse.jgit.transport.BasePackPushConnection.doPush(BasePackPushConnection.java:200)
at org.eclipse.jgit.transport.BasePackPushConnection.push(BasePackPushConnection.java:152)
at org.eclipse.jgit.transport.PushProcess.execute(PushProcess.java:165)
at org.eclipse.jgit.transport.Transport.push(Transport.java:1200)
at org.eclipse.jgit.transport.Transport.push(Transport.java:1246)
at com.googlesource.gerrit.plugins.replication.PushOne.pushVia(PushOne.java:407)
at com.googlesource.gerrit.plugins.replication.PushOne.runImpl(PushOne.java:379)
at com.googlesource.gerrit.plugins.replication.PushOne.runPushOperation(PushOne.java:287)
at com.googlesource.gerrit.plugins.replication.PushOne.access$000(PushOne.java:82)
at com.googlesource.gerrit.plugins.replication.PushOne$1.call(PushOne.java:257)
at com.googlesource.gerrit.plugins.replication.PushOne$1.call(PushOne.java:254)
at com.google.gerrit.server.util.RequestScopePropagator$5.call(RequestScopePropagator.java:222)
at com.google.gerrit.server.util.RequestScopePropagator$4.call(RequestScopePropagator.java:201)
at com.google.gerrit.server.git.PerThreadRequestScope$Propagator$1.call(PerThreadRequestScope.java:75)
at com.googlesource.gerrit.plugins.replication.PushOne.run(PushOne.java:254)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:368)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Most of the gits will succeed but a few won't.
gerrit show-queue shows a couple failed:
$ ssh -p 29418 <SERVER> gerrit show-queue -w
Task State StartTime Command
------------------------------------------------------------------------------
341d9145 13:16:55.533 13:15:55.531 (retry 104) [52261008] push gerrit2@10.123.1.123:/home/gerrit2/crux_replication/git/aosp/platform/frameworks/rs.git
d4dd15a1 13:17:09.736 13:16:09.734 (retry 104) [9cc6df33] push gerrit2@10.123.1.123:/home/gerrit2/crux_replication/git/aosp/platform/tools/buildSrc.git
98a266d4 13:18:47.984 09:28:32.657 Reload Submit Queue
58b14e1f 10:28:31.284 09:28:31.283 Log File Compressor
------------------------------------------------------------------------------
4 tasks
To fix this issue, I currently delete the *.git on the replication mirror. Gerrit detects this automatically and pushes the whole repository. This will always succeed.
Are there any other recommendations to fix these replication errors?
I recently upgraded the replication mirror from git 1.7.9 to 2.3.0 and that has seemingly reduced the number of gits showing replication error, but I'd like to get the number down to zero.
Thanks,
Dean