gerrit无法创建更改:推送审核时LOCK_FAILURE

问题描述 投票:1回答:2

我已经交了很多git repos,我已经创建了镜像。我试图推动gerrit审查时遇到以下错误

blake-macbook:repo blake$ git push ssh://gerrit-new/repo HEAD:refs/for/master
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 359 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2)
remote: Processing changes: refs: 2, done    
To ssh://gerrit-new/repo
! [remote rejected] HEAD -> refs/for/master (Unable to create changes:LOCK_FAILURE)
error: failed to push some refs to 'ssh://gerrit-new/repo'

Gerrit作为自己的用户运行。我检查了文件系统权限并刷新它们以防万一

chown -R gerrit.gerrit /home/gerrit/review-site

日志显示没什么用处

[2016-09-08 00:07:45,071] [ReceiveCommits-1] ERROR com.google.gerrit.server.git.ReceiveCommits : Command CREATE on repo:refs/changes/54/54/1 not completed: LOCK_FAILURE
[2016-09-08 00:07:45,072] [ReceiveCommits-1] ERROR com.google.gerrit.server.git.ReceiveCommits : Only 0 of 1 new change refs created in repo; aborting

我已经创建了一个组调用“Project Leads”,几乎授予了默认的All-Projects访问方案中的每个权限,确保我的项目继承自All-Projects。

我还将我的测试用户添加到了Administrators组...没有骰子。同样的错误。

奇怪的是,它在5天前工作正常。我唯一做的就是检查一个新的分支,尝试提交到新的分支(得到错误),现在每次提交都会出现错误(好吧,我尝试的一切)

如果我绕过审查它推得很好(虽然次优的解决方法)

任何帮助赞赏

编辑:如果你想知道ssh服务器/端口我在ssh配置文件上设置它

Host gerrit-new
    HostName        <server>
    Port            29418
    User            <user>
    IdentityFile    ~/.ssh/<priv_key.rsa>

EDIT2:还尝试重启,重新索引,重启,并手动删除write.lock文件

git gerrit
2个回答
1
投票

我们的服务器意外重启后,gerrit的数据库数据丢失,帐户和提交信息丢失。我不得不重新安装gerrit数据库。当我重新建立gerrit索引时,我将重现此错误。将本地分支重新推送到远程,重新启动服务,然后不再报告此错误。希望可以帮到你。

Git remote remove origin
 
Git remote add origin ssh://[email protected]:29418/you_pro

Git push -u origin master

0
投票

您是否已经看过以下旧线程?

https://groups.google.com/forum/#!topic/repo-discuss/nvUnY346y14

https://bugs.chromium.org/p/gerrit/issues/detail?id=1593

也许他们可以帮助你或提出一些想法......

© www.soinside.com 2019 - 2024. All rights reserved.