You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gerrit 3.2.3 Replication一直处于Rescheduling状态如何解决?

问题根因

你遇到的是Gerrit 3.2.3版本自带replication插件的已知缺陷,进行中的推送任务的锁状态没有被正确释放,导致后续的同步任务持续判断存在运行中的推送冲突,反复触发重调度,永远无法执行实际同步。


临时修复方案(可立即恢复同步能力)

  • 先暂停replication插件,执行ssh管理命令:
    ssh -p <Gerrit SSH端口> <管理员账号>@<Gerrit服务地址> gerrit plugin pause replication
  • 删除replication插件的缓存队列,默认缓存路径为$GERRIT_SITE/data/replication,直接删除整个文件夹即可
  • 恢复replication插件运行:
    ssh -p <Gerrit SSH端口> <管理员账号>@<Gerrit服务地址> gerrit plugin resume replication
  • 若操作后仍有异常,直接重启Gerrit服务即可彻底清除残留的锁状态

永久修复方案(避免后续复发)

该缺陷已在3.2.4及更高版本的replication插件中修复,可二选一执行:

  • 整体升级Gerrit实例到3.2.4或更高的稳定版本
  • 单独升级replication插件:下载对应3.2.x分支的最新replication插件包,替换$GERRIT_SITE/plugins/replication.jar后重启插件即可

额外优化配置

你可以在replication.config配置文件中添加如下参数,降低锁冲突概率:

[replication]
  lockTimeout = 300

该参数会将推送锁的超时时间设置为300秒,超过时间未完成的推送会自动释放锁,避免锁长期残留。


内容的提问来源于stack exchange,提问作者B.Kingsun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 10:12:02