[
https://issues.apache.org/jira/browse/ATLAS-628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15223975#comment-15223975
]
Hemanth Yamijala commented on ATLAS-628:
----------------------------------------
For now, to test HA, the workaround would be to ensure one of the instances
starts up before the other.
> Starting two Atlas instances at the same time causes exceptions in HA mode.
> ---------------------------------------------------------------------------
>
> Key: ATLAS-628
> URL: https://issues.apache.org/jira/browse/ATLAS-628
> Project: Atlas
> Issue Type: Bug
> Reporter: Hemanth Yamijala
> Priority: Blocker
>
> Configure HA parameters for Atlas. Use SOLR and HBase as backends. From two
> terminals start two instances of Atlas at roughly the same time. This causes
> failure exceptions and at least one instance does not start up properly (in
> either active or passive mode). The relevant stack trace is:
> {code}
> Caused by: java.lang.ExceptionInInitializerError
> at
> org.apache.atlas.repository.graph.GraphBackedMetadataRepository.<clinit>(GraphBackedMetadataRepository.java:67)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:278)
> at
> com.google.inject.internal.cglib.core.$ReflectUtils.defineClass(ReflectUtils.java:386)
> at
> com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:219)
> at
> com.google.inject.internal.cglib.proxy.$Enhancer.createHelper(Enhancer.java:377)
> at
> com.google.inject.internal.cglib.proxy.$Enhancer.createClass(Enhancer.java:317)
> at
> com.google.inject.internal.ProxyFactory$ProxyConstructor.<init>(ProxyFactory.java:252)
> at com.google.inject.internal.ProxyFactory.create(ProxyFactory.java:178)
> at
> com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:90)
> at
> com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29)
> at
> com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37)
> at
> com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
> at com.google.inject.internal.FailableCache$1.load(FailableCache.java:37)
> at
> com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3599)
> at
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2379)
> at
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342)
> at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257)
> at com.google.common.cache.LocalCache.get(LocalCache.java:4000)
> at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4004)
> at
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4874)
> at
> com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4880)
> at com.google.inject.internal.FailableCache.get(FailableCache.java:48)
> at
> com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50)
> at
> com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:136)
> at
> com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:547)
> at
> com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:884)
> at
> com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:805)
> at
> com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:282)
> at
> com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:214)
> at
> com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:890)
> at com.google.inject.internal.FactoryProxy.notify(FactoryProxy.java:46)
> at
> com.google.inject.internal.ProcessedBindingData.runCreationListeners(ProcessedBindingData.java:50)
> at
> com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:134)
> ... 24 more
> Caused by: java.lang.IllegalArgumentException: Database has already been
> initialized but not frozen
> at
> com.google.common.base.Preconditions.checkArgument(Preconditions.java:92)
> at
> com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.<init>(GraphDatabaseConfiguration.java:1294)
> at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:93)
> at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:73)
> at
> org.apache.atlas.repository.graph.TitanGraphProvider.getGraphInstance(TitanGraphProvider.java:105)
> at
> org.apache.atlas.repository.graph.GraphHelper.<clinit>(GraphHelper.java:64)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)