我在一个带有外部oracle db的docker容器中的tomcat上运行Gerrit 2.14.6。
我可以推送更改,以便在“打开更改”中显示,并且我能够看到数据库中的更改。
我可以杀死tomcat,重新启动它,更改会显示在Web UI中。我可以杀死容器,重新启动它,启动tomcat,并在Web UI中显示更改。
但是,如果我尝试启动另一个容器,推送没有通过,我无法在Web UI中看到更改。
我目前将所有Gerrit缓存设置为0,除了websession缓存。
git存储库保存在已安装的目录中。每个容器都可以访问所有项目。在应用程序启动时,所有项目都存在于Web UI中。
关于我可以尝试的任何想法?
答案 0 :(得分:0)
这是我期望发生的事情,因为Gerrit将更改/提交信息保存在两个不同的位置:数据库和文件系统。如果我理解正确,你就开始了一个没有文件系统中新变更信息的新容器,对吗?虽然新的更改信息在数据库中,但您在文件系统中没有相应的信息。
编辑:
考虑到您的Git存储库保存在已安装的目录中,我认为您的问题与您在GERRIT-SITE / index目录中维护的二级索引(Lucene?)文件有关。当你开始使用不同的容器时它们会被保留吗?您可以尝试重新编制实例索引,以查看更改是否显示:
GERRIT-SITE/bin/gerrit.sh stop
java -jar GERRIT-SITE/bin/gerrit.war reindex -d GERRIT-SITE