代码之家  ›  专栏  ›  技术社区  ›  phil

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

  •  1
  • phil  · 技术社区  · 6 年前

    我正在tomcat上运行Gerrit 2.14.6,它位于一个带有外部oracle db的docker容器中。

    我可以推送更改,使其显示在“打开的更改”中,并且可以在数据库中看到更改。

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

    然而,如果我尝试启动另一个推送未通过的容器,我将无法看到web UI中的更改。

    除websession缓存外,我当前已将所有Gerrit缓存设置为0。

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

    有什么想法可以试试吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Marcelo Ávila de Oliveira    6 年前

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

    编辑:

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

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