Gerrit服务器异常:Push失败且无法克隆项目,求助故障原因
先分析你遇到的Push报错
你收到的错误提示:
! [remote rejected] HEAD -> refs/for/master(internal server error: com.google.gerrit.server.git.UpdateException: java.io.IOException: java.util.concurrent.ExecutionException: org.apache.lucene.store.AlreadyClosedException: this IndexWriter is closed)
这个错误的核心是Gerrit服务器的索引写入器(IndexWriter)已被关闭,属于服务器内部故障。常见触发原因包括:
- Gerrit的索引服务意外崩溃或被强制终止
- 服务器资源耗尽(内存不足、磁盘空间占满),导致索引服务被迫停止
- Gerrit运行过程中出现未处理的异常,触发了索引写入器的关闭逻辑
再看后续的克隆失败问题
你后续遇到的克隆报错:
Cloning into 'android'... remote: Counting objects: 364705, done
remote: Finding sources: 100% (364705/364705)
Write failed: Connection reset by peer), 111.97 MiB | 11.30 MiB/s
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
这个报错进一步坐实了Gerrit服务器状态异常。连接重置、提前EOF这类问题,大概率是因为:
- Gerrit服务器进程已崩溃或处于不稳定状态,无法正常响应克隆请求
- 服务器的网络服务(SSH/HTTP)出现故障,导致连接中途断开
- 服务器资源耗尽,无法完成大量对象的传输操作
总结建议
这两个问题都不是你本地操作的问题,完全是Gerrit服务器端的异常导致的。你现在需要联系负责维护Gerrit服务器的管理员,让他们检查:
- Gerrit服务进程是否正常运行
- 服务器的磁盘空间、内存使用情况
- Gerrit日志文件(通常在
$GERRIT_SITE/logs/目录下),排查具体崩溃原因 - 必要时重启Gerrit服务,或修复索引服务的异常状态
内容的提问来源于stack exchange,提问作者mianlaoshu

