从gerrit克隆存储库有时会失败

时间:2018-05-21 15:55:08

标签: git gerrit jgit

我们有一个jenkins工作被配置为从gerrit获取更改来执行CI,有时这个工作随机失败以执行Git操作,就像在gerrit服务器上克隆或获取一样。 gerrit服务器由带有PGBouncer的postgres数据库提供支持。服务器的SSHD日志包含以下日志消息。

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

应用程序日志有以下堆栈跟踪,它来自jgit或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

以前有人遇到过这个问题吗?或者我们可以做些什么来确定问题?

1 个答案:

答案 0 :(得分:1)

我们还遇到了与Gerrit的ssh连接的一些问题。这是一段时间以前,所以我不记得确切的错误。但我们使用了Gerrit的旧版本(2.10或其他)。

我们的解决方案是使用https协议代替ssh进行远程git操作。

相关问题