can't start official gerrit docker after database change

637 views
Skip to first unread message

colin liao

unread,
Oct 31, 2018, 3:16:01 AM10/31/18
to Repo and Gerrit Discussion
Hi ,

I pull gerrit image from docker hub https://hub.docker.com/r/gerritcodereview/gerrit/.

it can start correctly, then I change database to mysql, then it show below error when I try to start gerrit by: gerrit.sh run

thanks!


[2018-10-31 07:11:44,426] [main] ERROR com.google.gerrit.pgm.Daemon : Unable to start daemon
com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, org.apache.lucene.store.LockObtainFailedException: Lock held by another program: /var/gerrit/index/changes_0048/open/write.lock
  at com.google.gerrit.lucene.LuceneChangeIndex.<init>(LuceneChangeIndex.java:158)
  while locating com.google.gerrit.server.index.change.ChangeIndex annotated with @com.google.inject.internal.UniqueAnnotations$Internal(value=9)

1 error
at com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:226)
at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1053)
at com.google.inject.assistedinject.FactoryProvider2.invoke(FactoryProvider2.java:836)
at com.sun.proxy.$Proxy28.create(Unknown Source)
at com.google.gerrit.server.index.VersionManager.initIndex(VersionManager.java:177)
at com.google.gerrit.server.index.VersionManager.start(VersionManager.java:94)
at com.google.gerrit.lifecycle.LifecycleManager.start(LifecycleManager.java:92)
at com.google.gerrit.pgm.Daemon.start(Daemon.java:350)
at com.google.gerrit.pgm.Daemon.run(Daemon.java:257)
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:223)
at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:119)
at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:63)
at Main.main(Main.java:24)
Caused by: org.apache.lucene.store.LockObtainFailedException: Lock held by another program: /var/gerrit/index/changes_0048/open/write.lock
at org.apache.lucene.store.NativeFSLockFactory.obtainFSLock(NativeFSLockFactory.java:118)
at org.apache.lucene.store.FSLockFactory.obtainLock(FSLockFactory.java:41)
at org.apache.lucene.store.BaseDirectory.obtainLock(BaseDirectory.java:45)
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:776)
at com.google.gerrit.lucene.AutoCommitWriter.<init>(AutoCommitWriter.java:35)
at com.google.gerrit.lucene.AutoCommitWriter.<init>(AutoCommitWriter.java:31)
at com.google.gerrit.lucene.AbstractLuceneIndex.<init>(AbstractLuceneIndex.java:109)
at com.google.gerrit.lucene.ChangeSubIndex.<init>(ChangeSubIndex.java:69)
at com.google.gerrit.lucene.ChangeSubIndex.<init>(ChangeSubIndex.java:52)
at com.google.gerrit.lucene.LuceneChangeIndex.<init>(LuceneChangeIndex.java:181)
at com.google.gerrit.lucene.LuceneChangeIndex$$FastClassByGuice$$74f0d0f1.newInstance(<generated>)
at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:89)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1050)
... 16 more
bash-4.2$ 

Matthias Sohn

unread,
Oct 31, 2018, 6:09:55 AM10/31/18
to coli...@gmail.com, repo-d...@googlegroups.com
looks like you didn't stop the other instance which you started before changing to MySQL.

-Matthias 
Reply all
Reply to author
Forward
0 new messages