| Issue 1044: | All the changes submitted to a specific git and branch are "Submitted, Merge Pending" | |
| 4 people starred this issue and may be notified of changes. | Back to list |
Affected Version: 2.1.6.1 What steps will reproduce the problem? 1.Push change to Gerrit for inspection (refs/for) 2.Have the change fully reviewed and approved 3.Click on "Submit to patch" What is the expected output? What do you see instead? Expected: Change to get applied on the main code and ChangePage on Merged status. What I see: All the changes on "Submitted, Merge Pending" status and nothing applied to the main code. Please provide any additional information below. Backgroud (what probably caused the issue): We got some users that, for mistake, have performed their pushes directly to Gerrit file system (using ss through port #22), and because they have write permissions to it, the changes got applied, and several ownerships inside the git got changed from "gerrit" user to another accounts. After we realized that, we change the ownership back to "gerrit" user, and made sure that gerrit user also has write permissions on all files under the .git. Problem: After that, all the changes submitted to one specific branch at this git is getting "Submitted, Merge Pending" status. Changes on different branches are going ok. What we have already made: The list of changes on "Submitted, Merge Pending" status for this git on the specific failing branch is over 40 changes now. We have already tried to manually Merge the first one of the queue, to see if the rest of them would start going through, but it have not worked. We have followed below steps to make the first change on the queue get merged: 1 - Clonned the git 2 - Downloaded the changes from the Gerrit change page 3 - Pushed the changes to Gerrit withouth going to inspection (pushing directly to refs/heads) 4 - Since after that, the change was still on "Submitted, Merge Pending", we changed the status on the DB to "Merged" Even after that, the other changes were still stucked on "Submitted, Merge Pending". Evidences: Error_log errors: [2011-07-08 11:54:00,135] ERROR com.google.gerrit.server.git.ChangeMergeQueue : Merge attempt for <project path>,refs/heads/<specific branch that are failing> failed Git-GC output on this git (to make sure that the git is fully operational): > git gc Counting objects: 976236, done. Delta compression using up to 24 threads. Compressing objects: 100% (258358/258358), done. Writing objects: 100% (976236/976236), done. Total 976236 (delta 511567), reused 975865 (delta 511201) > We have not restarted Gerrit since this issue. Can someone please help?
Jul 8, 2011
#1
leandro....@gmail.com
Jul 8, 2011
Since I was not sure it should be submitted here or at Repo and Gerrit Discussion, I have pasted all this same text to Gerrit Discussion as well. If it is wrong to be opened here, please, close it. Leandro Fonseca.
Aug 15, 2011
Issue 1043 has been merged into this issue.
Mar 27, 2012
I ran into a similar issue which may be helpful to you. My error log looked like: com.google.gerrit.server.git.MergeException: Cannot merge fc238e8dfa6c70a5661c13f41e77081356dbe50b at com.google.gerrit.server.git.MergeOp.mergeOneCommit(MergeOp.java:521) at com.google.gerrit.server.git.MergeOp.mergeTopics(MergeOp.java:488) at com.google.gerrit.server.git.MergeOp.preMerge(MergeOp.java:299) at com.google.gerrit.server.git.MergeOp.merge(MergeOp.java:268) at com.google.gerrit.server.git.ChangeMergeQueue.mergeImpl(ChangeMergeQueue.java:190) at com.google.gerrit.server.git.ChangeMergeQueue.access$100(ChangeMergeQueue.java:46) at com.google.gerrit.server.git.ChangeMergeQueue$MergeEntry.run(ChangeMergeQueue.java:232) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:324) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: java.io.IOException: Creating directory /home/gerrit2/review_site/git/sg.git/objects/33 failed at org.eclipse.jgit.util.FileUtils.mkdir(FileUtils.java:174) at org.eclipse.jgit.util.FileUtils.mkdir(FileUtils.java:152) at org.eclipse.jgit.storage.file.ObjectDirectory.insertUnpackedObject(ObjectDirectory.java:580) at org.eclipse.jgit.storage.file.ObjectDirectoryInserter.insertOneObject(ObjectDirectoryInserter.java:113) at org.eclipse.jgit.storage.file.ObjectDirectoryInserter.insert(ObjectDirectoryInserter.java:91) at org.eclipse.jgit.lib.TreeFormatter.insertTo(TreeFormatter.java:286) at org.eclipse.jgit.lib.ObjectInserter.insert(ObjectInserter.java:209) at org.eclipse.jgit.dircache.DirCacheTree.writeTree(DirCacheTree.java:341) at org.eclipse.jgit.dircache.DirCache.writeTree(DirCache.java:774) at org.eclipse.jgit.merge.StrategySimpleTwoWayInCore$InCoreMerger.mergeImpl(StrategySimpleTwoWayInCore.java:158) at org.eclipse.jgit.merge.Merger.merge(Merger.java:156) at org.eclipse.jgit.merge.ThreeWayMerger.merge(ThreeWayMerger.java:133) at com.google.gerrit.server.git.MergeOp.mergeOneCommit(MergeOp.java:507) ... 15 more In my case the "real" error was on the "caused by" line ("Creating directory /home/gerrit2/review_site/git/sg.git/objects/33 failed") which was due to incorrect file ownership. For me, a simple "chown -R gerrit2:gerrit2 review_site/git/sg.git" fixed the issue. Does your exception have a "Caused by" line that might give more insight into the underlying cause of the issue? |
|
| ► Sign in to add a comment |