Raghavendra Pathi
Raghavendra Pathi

Reputation: 167

Cloning repository from gerrit sometimes fails

We have a jenkins job configured to fetch changes from gerrit to do CI, sometimes this job fails randomly to perform Git operation's like clone or fetch on the gerrit server. The gerrit server is backed by a postgres database with PGBouncer. The server's SSHD log has the following log message.

    [2018-05-19 17:15:27,405 +0000] 7f660610 username a/1000024 git-upload-pack./sampleproject 1ms 300002ms killed

And the application log has following stack trace which is coming from jgit or lucene.

 [2018-05-19 17:15:27,636] [SSH git-upload-pack '/sampleproject' (username)] WARN  com.google.gerrit.server.git.SearchingChangeCacheImpl : Cannot fetch changes for sampleproject

2018-05-1913:15:28.700

 java.util.concurrent.ExecutionException: com.google.gwtorm.server.OrmException: interrupted

2018-05-1913:15:28.702

    at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:476)

2018-05-1913:15:28.703

    at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:435)

2018-05-1913:15:28.721

    at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)

2018-05-1913:15:28.723

    at com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:143)

2018-05-1913:15:28.725

    at com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2352)

2018-05-1913:15:28.727

    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2324)

2018-05-1913:15:28.728

    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2286)

2018-05-1913:15:28.729

    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201)

2018-05-1913:15:28.731

    at com.google.common.cache.LocalCache.get(LocalCache.java:3953)

2018-05-1913:15:28.733

    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3957)

2018-05-1913:15:28.734

    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4875)

2018-05-1913:15:28.736

    at com.google.gerrit.server.git.SearchingChangeCacheImpl.getChangeData(SearchingChangeCacheImpl.java:118)

2018-05-1913:15:28.737

    at com.google.gerrit.server.git.VisibleRefFilter.visibleChangesBySearch(VisibleRefFilter.java:236)

2018-05-1913:15:28.739

    at com.google.gerrit.server.git.VisibleRefFilter.visible(VisibleRefFilter.java:216)

2018-05-1913:15:28.760

    at com.google.gerrit.server.git.VisibleRefFilter.filter(VisibleRefFilter.java:126)

2018-05-1913:15:28.762

    at com.google.gerrit.server.git.VisibleRefFilter.filter(VisibleRefFilter.java:208)

2018-05-1913:15:28.763

    at com.google.gerrit.server.git.VisibleRefFilter.getAdvertisedRefs(VisibleRefFilter.java:197)

2018-05-1913:15:28.764

    at org.eclipse.jgit.transport.AbstractAdvertiseRefsHook.advertiseRefs(AbstractAdvertiseRefsHook.java:62)

2018-05-1913:15:28.766

    at org.eclipse.jgit.transport.UploadPack.sendAdvertisedRefs(UploadPack.java:870)

2018-05-1913:15:28.768

    at org.eclipse.jgit.transport.UploadPack.service(UploadPack.java:718)

2018-05-1913:15:28.769

    at org.eclipse.jgit.transport.UploadPack.upload(UploadPack.java:667)

2018-05-1913:15:28.771

    at com.google.gerrit.sshd.commands.Upload.runImpl(Upload.java:92)

2018-05-1913:15:28.772

    at com.google.gerrit.sshd.AbstractGitCommand.service(AbstractGitCommand.java:101)

2018-05-1913:15:28.777

    at com.google.gerrit.sshd.AbstractGitCommand.access$000(AbstractGitCommand.java:32)

2018-05-1913:15:28.779

    at com.google.gerrit.sshd.AbstractGitCommand$1.run(AbstractGitCommand.java:70)

2018-05-1913:15:28.780

    at com.google.gerrit.sshd.BaseCommand$TaskThunk.run(BaseCommand.java:442)

2018-05-1913:15:28.782

    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

2018-05-1913:15:28.783

    at java.util.concurrent.FutureTask.run(FutureTask.java:266)

2018-05-1913:15:28.784

    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)

2018-05-1913:15:28.786

    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)

2018-05-1913:15:28.788

    at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:417)

2018-05-1913:15:28.790

    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

2018-05-1913:15:28.791

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

2018-05-1913:15:28.793

    at java.lang.Thread.run(Thread.java:748)

2018-05-1913:15:28.795

 Caused by: com.google.gwtorm.server.OrmException: interrupted

2018-05-1913:15:28.796

    at com.google.gerrit.lucene.LuceneChangeIndex$QuerySource.read(LuceneChangeIndex.java:317)

2018-05-1913:15:28.797

    at com.google.gerrit.server.index.change.IndexedChangeQuery.read(IndexedChangeQuery.java:90)

2018-05-1913:15:28.799

    at com.google.gerrit.server.query.QueryProcessor.query(QueryProcessor.java:191)

2018-05-1913:15:28.801

    at com.google.gerrit.server.query.QueryProcessor.query(QueryProcessor.java:139)

2018-05-1913:15:28.802

    at com.google.gerrit.server.query.QueryProcessor.query(QueryProcessor.java:122)

2018-05-1913:15:28.803

    at com.google.gerrit.server.query.InternalQuery.query(InternalQuery.java:71)

2018-05-1913:15:28.805

    at com.google.gerrit.server.query.change.InternalChangeQuery.byProject(InternalChangeQuery.java:144)

2018-05-1913:15:28.806

    at com.google.gerrit.server.git.SearchingChangeCacheImpl$Loader.load(SearchingChangeCacheImpl.java:153)

2018-05-1913:15:28.808

    at com.google.gerrit.server.git.SearchingChangeCacheImpl$Loader.load(SearchingChangeCacheImpl.java:139)

2018-05-1913:15:28.810

    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3542)

2018-05-1913:15:28.811

    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2323)

2018-05-1913:15:28.813

    ... 28 more

Has anyone faced this problem before? Or what can we do to identify the problem?

Upvotes: 0

Views: 270

Answers (1)

kt_
kt_

Reputation: 84

We had some issues with ssh connections to Gerrit also. It was some time ago, so I don't remember exact errors. But we used a pretty old version of Gerrit (2.10 or something).

Our solution was to use https protocol instead of ssh for remote git operations.

Upvotes: 1

Related Questions