My favorites | Sign in
Project Home Downloads Wiki Issues Source
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 2750: "reindex" should check schema version before attempting to run
1 person starred this issue and may be notified of changes. Back to list
Status:  New
Owner:  ----


Sign in to add a comment
 
Project Member Reported by dougk....@gmail.com, Jun 30, 2014
Affected Version: master

What steps will reproduce the problem?
1. Have an old Gerrit install, build a new version of Gerrit
2. Run "gerrit reindex"
3. Watch as it fails everywhere because the schema has changed

What is the expected output? What do you see instead?
Reindex should quickly abort because the schema is not updated, but instead it attempts to run and fails.

Nov 11, 2014
Project Member #1 bassem.rabil
We experience reindex failure with Gerrit 2.10 rc0 with the following stack trace. I am not sure if this was the same error described in this issue, however I tried passing schema version and still the same error.

$ java -jar gerrit.war reindex -d <Path to Review Site>
[DATE-STAMP] INFO  com.google.gerrit.server.cache.h2.H2CacheFactory : Enabling disk cache <Path to review_site>/cache
Exception in thread "main" com.google.inject.CreationException: Unable to create injector, see the following errors:

1) Error injecting constructor, java.lang.NullPointerException
  at com.google.gerrit.server.config.GitUploadPackGroupsProvider.<init>(GitUploadPackGroupsProvider.java:32)
  while locating com.google.gerrit.server.config.GitUploadPackGroupsProvider
  at com.google.gerrit.server.project.AccessControlModule.configure(AccessControlModule.java:32) (via modules: com.google.gerrit.pgm.Reindex$1 -> com.google.gerrit.server.project.AccessControlModule)
  while locating java.util.Set<com.google.gerrit.reviewdb.client.AccountGroup$UUID> annotated with interface com.google.gerrit.server.config.GitUploadPackGroups

1 error
	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:448)
	at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:184)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110)
	at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:225)
	at com.google.gerrit.pgm.Reindex.createSysInjector(Reindex.java:245)
	at com.google.gerrit.pgm.Reindex.run(Reindex.java:150)
	at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:64)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:166)
	at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:93)
	at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:50)
	at Main.main(Main.java:25)
Caused by: java.lang.NullPointerException
	at com.google.gerrit.server.account.GroupControl.isVisible(GroupControl.java:134)
	at com.google.gerrit.server.account.InternalGroupBackend$2.apply(InternalGroupBackend.java:82)
	at com.google.gerrit.server.account.InternalGroupBackend$2.apply(InternalGroupBackend.java:78)
	at com.google.common.collect.Iterators$7.computeNext(Iterators.java:647)
	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
	at com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:43)
	at com.google.common.collect.Iterators.addAll(Iterators.java:356)
	at com.google.common.collect.Lists.newArrayList(Lists.java:147)
	at com.google.common.collect.Lists.newArrayList(Lists.java:129)
	at com.google.gerrit.server.account.InternalGroupBackend.suggest(InternalGroupBackend.java:86)
	at com.google.gerrit.server.account.UniversalGroupBackend.suggest(UniversalGroupBackend.java:88)
	at com.google.gerrit.server.account.GroupBackends.findBestSuggestion(GroupBackends.java:64)
	at com.google.gerrit.server.account.GroupBackends.findBestSuggestion(GroupBackends.java:49)
	at com.google.gerrit.server.config.GroupSetProvider.<init>(GroupSetProvider.java:52)
	at com.google.gerrit.server.config.GitUploadPackGroupsProvider.<init>(GitUploadPackGroupsProvider.java:32)
	at com.google.gerrit.server.config.GitUploadPackGroupsProvider$$FastClassByGuice$$ce246933.newInstance(<generated>)
	at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
	at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:108)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:88)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:269)
	at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:62)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1066)
	at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
	at com.google.inject.Scopes$1$1.get(Scopes.java:65)
	at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
	at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:205)
	at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:199)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1059)
	at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:199)
	at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:180)


	... 13 more
Nov 11, 2014
Project Member #2 dougk....@gmail.com
Hi Bassem,

If this is the same issue, the problem I had was that reindex would fail, then after running the gerrit init to update the schema, reindex succeeded.  Does this make sense?
Nov 20, 2014
Project Member #3 huga...@gmail.com
Doug is right, this is not the same problem, I am working on a fix for Bassem's issue
Nov 20, 2014
Project Member #4 huga...@gmail.com
create another issue for Bassem's issue: https://code.google.com/p/gerrit/issues/detail?id=3025
Sign in to add a comment

Powered by Google Project Hosting