Как мне избежать Java «Схема еще не инициализирована» l oop? - PullRequest
0 голосов
/ 18 июня 2020

Я установил Gerrit в контейнер Docker вместе с его зависимостями Postgres и Apache. Последние два запускаются без проблем, но запускается Java, а затем генерируется следующее исключение:

[2020-06-18 17:52:22,474] [main] ERROR com.google.gerrit.pgm.Daemon : Unable to start daemon
com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Schema not yet initialized. Run init to initialize the schema:
$ java -jar gerrit.war init -d /var/gerrit

1 error
        at com.google.gerrit.server.schema.NoteDbSchemaVersionCheck.start(NoteDbSchemaVersionCheck.java:50)
        at com.google.gerrit.lifecycle.LifecycleManager.start(LifecycleManager.java:95)
        at com.google.gerrit.pgm.Daemon.start(Daemon.java:348)
        at com.google.gerrit.pgm.Daemon.run(Daemon.java:254)
        at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:61)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:224)
        at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:120)
        at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:65)
        at Main.main(Main.java:28)

Когда я запускаю init, как было предложено (в контейнере Gerrit), он предлагает мне внести изменения в файл gerrit.config, а затем выполняет переиндексирование. Затем, когда я пытаюсь перезапустить контейнер (через docker -compose), я получаю ту же самую ошибку. Вот мой gerrit.conf (отредактированный для конфиденциальности):

[gerrit]
        basePath = git
        canonicalWebUrl = http://host:8100/
        serverId = 85d6f505-5412-4eef-9f26-e844e9efd258
[database]
        type = postgresql
        hostname = localhost
        database = reviewdb
        username = gerrit2
[index]
        type = LUCENE
[auth]
        type = HTTP
        logoutUrl = http://aa:aa@host:8100/logout
        httpHeader =
[sendemail]
        smtpServer = localhost
        smtpUser = gerrit2
[container]
        javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance"
        javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance"
        user = root
        javaHome = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre
        javaOptions = -Djava.security.egd=file:/dev/./urandom
[httpd]
        listenUrl = http://host:8100/
[cache]
        directory = cache
[sshd]
        listenAddress = *:29418
[user]
        name = gerrit2
        email = pmena@host
...