I'm also not able to abandon those changes, neither from the UI nor through ssh:↪ ssh gerrit gerrit review --abandon 24028834b999698f93fedf8f8ae3958b98d3c174error: fatal: Cannot parse changefatal: one or more reviews failed; review output aboveI'm looking for any hints to dig deeper and find possible fixes. I'm also looking forward to any steps to follow to restore fully-working Gerrit even without the history of all my merged/abandoned changes but with current Git repos, user configs, ACLs etc.Thanks in advance for any help.MG
--
--
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.
Any internal server error should write a log to the gerrit error_log file.It would be good to know what it says.
gerrit-container | [2018-07-06 06:57:16,001] [ReceiveCommits-2] ERROR com.google.gerrit.server.git.receive.ReceiveCommits : [my-project-1530860235977-d9c2c287]Error collecting groups for changes
gerrit-container | com.google.gerrit.server.project.NoSuchChangeException: 1576
gerrit-container | at com.google.gerrit.server.notedb.ChangeNotes$Factory.createChecked(ChangeNotes.java:133)
gerrit-container | at com.google.gerrit.server.git.GroupCollector$1.lookup(GroupCollector.java:120)
gerrit-container | at com.google.gerrit.server.git.GroupCollector.resolveGroup(GroupCollector.java:294)
gerrit-container | at com.google.gerrit.server.git.GroupCollector.resolveGroups(GroupCollector.java:269)
gerrit-container | at com.google.gerrit.server.git.GroupCollector.getGroups(GroupCollector.java:233)
gerrit-container | at com.google.gerrit.server.git.receive.ReceiveCommits.selectNewAndReplacedChangesFromMagicBranch(ReceiveCommits.java:1977)
gerrit-container | at com.google.gerrit.server.git.receive.ReceiveCommits.processCommands(ReceiveCommits.java:548)
gerrit-container | at com.google.gerrit.server.git.receive.AsyncReceiveCommits$Worker.run(AsyncReceiveCommits.java:117)
[...]
gerrit-container | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
gerrit-container | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
gerrit-container | at java.lang.Thread.run(Thread.java:748)
gerrit-container | [2018-07-06 06:57:16,489] [SSH git-receive-pack /my-project (mateusz.grzechocinski)] WARN com.google.gerrit.server.git.MultiProgressMonitor : MultiProgressMonitor worker did not call end() before returning
gerrit-container | [2018-07-06 06:57:16,490] [SSH git-receive-pack /my-project (mateusz.grzechocinski)] WARN com.google.gerrit.server.git.receive.AsyncReceiveCommits : Error in ReceiveCommits while processing changes for project my-project
gerrit-container | java.util.concurrent.ExecutionException: java.lang.NullPointerException
gerrit-container | at java.util.concurrent.FutureTask.report(FutureTask.java:122)
gerrit-container | at java.util.concurrent.FutureTask.get(FutureTask.java:206)
gerrit-container | at com.google.gerrit.server.git.WorkQueue$Task.get(WorkQueue.java:405)
gerrit-container | at com.google.gerrit.server.git.MultiProgressMonitor.waitFor(MultiProgressMonitor.java:245)
gerrit-container | at com.google.gerrit.server.git.receive.AsyncReceiveCommits.onPreReceive(AsyncReceiveCommits.java:266)
gerrit-container | at org.eclipse.jgit.transport.ReceivePack.service(ReceivePack.java:266)
gerrit-container | at org.eclipse.jgit.transport.ReceivePack.receive(ReceivePack.java:208)
[...]
gerrit-container | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
gerrit-container | at java.lang.Thread.run(Thread.java:748)
gerrit-container | Caused by: java.lang.NullPointerException
gerrit-container | at com.google.gerrit.server.git.receive.ReceiveCommits.preparePatchSetsForReplace(ReceiveCommits.java:2290)
gerrit-container | at com.google.gerrit.server.git.receive.ReceiveCommits.processCommands(ReceiveCommits.java:550)
gerrit-container | at com.google.gerrit.server.git.receive.AsyncReceiveCommits$Worker.run(AsyncReceiveCommits.java:117)
gerrit-container | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
gerrit-container | at com.google.gerrit.server.util.RequestScopePropagator.lambda$cleanup$1(RequestScopePropagator.java:212)
gerrit-container | at com.google.gerrit.server.util.RequestScopePropagator.lambda$context$0(RequestScopePropagator.java:191)
gerrit-container | at com.google.gerrit.server.util.ThreadLocalRequestScopePropagator.lambda$wrapImpl$0(ThreadLocalRequestScopePropagator.java:50)
gerrit-container | at com.google.gerrit.server.util.RequestScopePropagator$1.call(RequestScopePropagator.java:94)
gerrit-container | at com.google.gerrit.server.util.RequestScopePropagator$2.run(RequestScopePropagator.java:125)
gerrit-container | ... 8 moreI would have a look at the server-side repository of "my-project" (in the filesystem) and check if there are any refs/changes/ refs for that change.
What's the best way to get rid of all those broken changes completely and keep my repos, users, acls only, so that I'll be able to push them as new changes and continue my work eventually?
What's the best way to get rid of all those broken changes completely and keep my repos, users, acls only, so that I'll be able to push them as new changes and continue my work eventually?If you have the local commits for these changes (e.g. in the local repositories of the change owners) you can just repush them with a new Change-Id (amend the commit and remove the Change-Id line, amend again to get a new Change-Id from the hook),
If there are no change refs, these changes only exist in the change index. Unfortunately we don't have any command to remove single entries from the change index. But you can run the reindex program [1] to reindex *all* changes. For running this command Gerrit must be offline and running it can take a long time if your server has many changes. So it's on you if you want to do that or not.