gerrit 在git review的时候碰上miss unkown + hash值

案例:gerrit 在git review的时候碰上miss unkown + hash值,现象如下

xxx@xxxx:~/share/37N/master_gerrit/OS_gerrit_ALPS-MP-N0.MP1-V1.0.2_PRI6737M_65_N$ git review
error: unpack failed: error Missing unknown b717c6e642d0a5e649099e761d2f6aa37804ac1d
fatal: Unpack error, check server log
To ssh://xxxx@192.168.1.49:29418/OS_gerrit_ALPS-MP-N0.MP1-V1.0.2_PRI6737M_65_N
! [remote rejected] HEAD -> refs/publish/master (n/a (unpacker error))


 

查看gerrit的error日志:

Error in GET /changes/561/revisions/b717c6e642d0a5e649099e761d2f6aa37804ac1d/commit?links
com.google.gwtorm.server.OrmException: com.google.gerrit.server.patch.PatchSetInfoNotAvailableException: org.eclipse.jgit.errors.MissingObjectException: Missing unknown b717c6e642d0a5e649099e761d2f6aa37804ac1d

....

其中有两个很关键的参数,561是它的CHANGE_ID, b717c6e642d0a5e649099e761d2f6aa37804ac1d是它对应的哈希值

查看了相关的文档,知道可能造成的原因是,对应的仓库被删掉了,但是gerrit审核页面上面还有此仓库待审核的事项没有处理,导致gerrit在数据库还有此仓库的记录。


解决方法:

1-停止gerrit。/etc/init.d/gerrit stop

2-找到安装gerrit时的war包,执行java -jar gerrit-2.11.4.war gsql

进入gsql数据库,找到表CHANGES和PATCH_SETS,然后删掉.(注意一定要找到对应的哈希值的记录)

具体的数据库操作命令是  

delete changes where change_id=561

delete patch_sets where change_id=561

3-然后重启gerrit 

 

转载于:https://www.cnblogs.com/to-be-rich/p/7427171.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值