启动新 Docker 容器时 Gerrit 更改未显示

Gerrit Changes not displaying when starting new Docker Container

我是 运行 Gerrit 2.14.6 on tomcat 在一个 docker 容器中有一个外部 oracle 数据库。

我能够推送更改,以便它显示在 'Open Changes' 中,并且我能够在数据库中看到更改。

我可以kill tomcat,重启它,更改显示在web UI。我可以杀死容器,重新启动它,启动 tomcat,更改显示在 web UI。

但是,如果我尝试启动一个不同的容器,推送没有通过,我无法在 web 中看到变化 UI。

我目前将所有 Gerrit 缓存设置为 0,除了网络会话缓存。

git 存储库保存在挂载目录中。每个容器都可以访问所有项目。在应用程序启动时,所有项目都存在于 web UI.

关于我可以尝试什么的任何想法?

这是我期望发生的事情,因为 Gerrit 将 changes/commits 信息保存在两个不同的位置:数据库和文件系统。如果我理解正确的话,你在文件系统中没有新的更改信息的情况下启动了一个新容器,对吧?虽然新的更改信息在数据库中,但您在文件系统中没有相应的信息。

编辑:

考虑到您的 Git 存储库保存在挂载目录中,我认为您的问题与保存在 GERRIT-SITE/index 目录中的二级索引(Lucene?)文件有关。当你启动一个不同的容器时,它们会被保留吗?您可以尝试重新索引您的实例以查看更改是否显示:

GERRIT-SITE/bin/gerrit.sh stop
java -jar GERRIT-SITE/bin/gerrit.war reindex -d GERRIT-SITE