Reindexing error - multiple merge bases not supported

170 views
Skip to first unread message

Leoš Junek

unread,
Apr 27, 2015, 4:40:51 AM4/27/15
to repo-d...@googlegroups.com
Hello to all,

when reindexing my Gerrit 2.10 instance, I'm getting several same errors. Gerrit complain about multiple merge bases. What should be done to fix it? There were no errors when running 2.9.1, it appeared after upgrade.
 
In given example there were 4 commits, our developers were a little bit crazy and merged commits in a strange way. I made a snapshot of tree in Git Extensions and before that I placed tags on commits that were listed in Gerrit error message. Tag name is derived from the SHA1 of commit. Snapshot is attached.


Do you have any idea how to fix it? What could I do (from the position of Gerrit admin)? What could do our developers? 
Has anybody faced the same problem?

Regards

Leoš


[2015-04-27 09:36:57,044] WARN  com.google.gerrit.server.patch.PatchListLoader : Error attempting automerge refse7b487d7fa050f49431940b2270ed0ae3b6d35
org
.eclipse.jgit.errors.NoMergeBaseException: No merge base could be determined. Reason=MULTIPLE_MERGE_BASES_NOT merge bases for:
 
17350764d95f1ef145e7a5fe31cce5d38ff84fe9
 
2e137d1544335daa57fa9db4c5ab0877b8a819c6 found:
  c00161719876a255da7536a775fa54bc59aefd6f
 
8198a51081ad9b4aeb67c941b7944b6facda8628
        at org
.eclipse.jgit.merge.Merger.getBaseCommit(Merger.java:278)
        at org
.eclipse.jgit.merge.ThreeWayMerger.mergeBase(ThreeWayMerger.java:132)
        at org
.eclipse.jgit.merge.ResolveMerger.mergeImpl(ResolveMerger.java:301)
        at org
.eclipse.jgit.merge.Merger.merge(Merger.java:203)
        at org
.eclipse.jgit.merge.Merger.merge(Merger.java:156)
        at org
.eclipse.jgit.merge.ThreeWayMerger.merge(ThreeWayMerger.java:114)
        at com
.google.gerrit.server.patch.PatchListLoader.automerge(PatchListLoader.java:290)
        at com
.google.gerrit.server.patch.PatchListLoader.automerge(PatchListLoader.java:252)
        at com
.google.gerrit.server.index.ChangeBatchIndexer$ProjectIndexer.aFor(ChangeBatchIndexer.java:379)
        at com
.google.gerrit.server.index.ChangeBatchIndexer$ProjectIndexer.getPathsAndIndex(ChangeBatchIndexer.
        at com
.google.gerrit.server.index.ChangeBatchIndexer$ProjectIndexer.call(ChangeBatchIndexer.java:304)
        at com
.google.gerrit.server.index.ChangeBatchIndexer$3.call(ChangeBatchIndexer.java:242)
        at com
.google.gerrit.server.index.ChangeBatchIndexer$3.call(ChangeBatchIndexer.java:226)
        at java
.util.concurrent.FutureTask.run(FutureTask.java:262)
        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(ScheduledThreadPoolEx
        at java
.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.
        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)
Reindexing changes: projects: 100% (46/46), 99% (8162/8171), done
Reindexed 8162 changes in 47.9s (170.4/s)


merge_bases.png

Matthias Sohn

unread,
Apr 27, 2015, 6:58:31 AM4/27/15
to Leoš Junek, Repo and Gerrit Discussion
ResolveMerge can't merge branches having criss-cross merges [1], you need recursive merge for that.
Allow content merge on the affected project and configure core.useRecursiveMerge [2] to true and try again.


-Matthias

Saša Živkov

unread,
Apr 27, 2015, 6:58:58 AM4/27/15
to Leoš Junek, repo-d...@googlegroups.com
On Mon, Apr 27, 2015 at 10:40 AM, Leoš Junek <leos...@gmail.com> wrote:
Hello to all,

when reindexing my Gerrit 2.10 instance,

Which exactly 2.10?
I guess something prior to 2.10.2.
 
I'm getting several same errors. Gerrit complain about multiple merge bases. What should be done to fix it? There were no errors when running 2.9.1, it appeared after upgrade.

This issues was fixed in [1] which is contained in 2.10.2 and later.


--
--
To unsubscribe, email repo-discuss...@googlegroups.com
More info at http://groups.google.com/group/repo-discuss?hl=en

---
You received this message because you are subscribed to the Google Groups "Repo and Gerrit Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to repo-discuss...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Leoš Junek

unread,
Apr 28, 2015, 4:53:25 AM4/28/15
to repo-d...@googlegroups.com, leos...@gmail.com
Thanks, Matthias!

In my project settings I could not find Allow content merge option, no matther if I run Gerrit on 2.10 version or 2.11. Look at the screenshot. Can I enable it somewhere? It could be seen at Googlesource Gerrit [1] but not in my instance.

I have added core.useRecursiveMerge = true to Gerrit config file.

After upgrade 2.10 to 2.11 error messages disappeared, however I would like to follow your steps completely.

Regards

Leos






Dne pondělí 27. dubna 2015 12:58:31 UTC+2 Matthias Sohn napsal(a):
masms.ios.PNG

Edwin Kempin

unread,
Apr 28, 2015, 4:58:31 AM4/28/15
to Leoš Junek, Repo and Gerrit Discussion
2015-04-28 10:53 GMT+02:00 Leoš Junek <leos...@gmail.com>:
Thanks, Matthias!

In my project settings I could not find Allow content merge option, no matther if I run Gerrit on 2.10 version or 2.11. Look at the screenshot. Can I enable it somewhere? It could be seen at Googlesource Gerrit [1] but not in my instance.
It is the 'Automatically resolve conflicts' option. It was only recently renamed to 'Allow Content merge' [1].

[1] https://gerrit-review.googlesource.com/67166
 

I have added core.useRecursiveMerge = true to Gerrit config file.

After upgrade 2.10 to 2.11 error messages disappeared, however I would like to follow your steps completely.

Regards

Leos






Dne pondělí 27. dubna 2015 12:58:31 UTC+2 Matthias Sohn napsal(a):
ResolveMerge can't merge branches having criss-cross merges [1], you need recursive merge for that.
Allow content merge on the affected project and configure core.useRecursiveMerge [2] to true and try again.


-Matthias

--

Leoš Junek

unread,
Apr 28, 2015, 4:59:05 AM4/28/15
to repo-d...@googlegroups.com, leos...@gmail.com


Dne pondělí 27. dubna 2015 12:58:58 UTC+2 zivkov napsal(a):


On Mon, Apr 27, 2015 at 10:40 AM, Leoš Junek <leos...@gmail.com> wrote:
Hello to all,

when reindexing my Gerrit 2.10 instance,

Which exactly 2.10?
I guess something prior to 2.10.2.
Exactly 2.10 version (with no minor update). 
 
I'm getting several same errors. Gerrit complain about multiple merge bases. What should be done to fix it? There were no errors when running 2.9.1, it appeared after upgrade.

This issues was fixed in [1] which is contained in 2.10.2 and later.


Great! I have upgraded to 2.11 and error messages are not being shown anymore. Thanks, Saša!

 

Leoš Junek

unread,
Apr 28, 2015, 7:12:07 AM4/28/15
to repo-d...@googlegroups.com, leos...@gmail.com
Thanks! That's true. 

Leoš Junek

unread,
Apr 29, 2015, 2:01:53 AM4/29/15
to repo-d...@googlegroups.com
Problem solved.

Upgrade to Gerrit 2.10.3.1 or 2.11 solved the problem.
Reply all
Reply to author
Forward
0 new messages