[ 
https://issues.apache.org/jira/browse/ATLAS-2681?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16475717#comment-16475717
 ] 

Graham Wallis commented on ATLAS-2681:
--------------------------------------

Hi [~lks21c]. 

>From the [JanusGraph configuration 
>reference|http://docs.janusgraph.org/0.1.0/config-ref.html#_index] it looks 
>like changing the configured indexing backend has mutability of GLOBAL_OFFLINE 
>- which would mean that provided JanusGraph is fully offline then it should be 
>possible to restart it with the new configuration. 

But I notice that Atlas checks whether the configured indexing backend has 
changed and throws a RuntimeException. I am not sure of the reasons for this 
checking by Atlas. Others may be able to advise. If not, then it may be worth 
relaxing the constraint and testing to see what happens.

The constraint is in AtlasJanusGraphDatabase.java at line 157:
{code:java}
if (!configuredIndexBackend.equals(currentIndexBackend)) {
 throw new RuntimeException("Configured Index Backend " + configuredIndexBackend
 + " differs from earlier configured Index Backend " + currentIndexBackend + ". 
Aborting!");
}{code}
 

> Atlas startup fails when configuring ES 5.5 as index backend.
> -------------------------------------------------------------
>
>                 Key: ATLAS-2681
>                 URL: https://issues.apache.org/jira/browse/ATLAS-2681
>             Project: Atlas
>          Issue Type: Bug
>            Reporter: Kwangsik Lee
>            Priority: Major
>
> Hi, guys.
> I'm setting up Apache atlas with our ES 5.5 cluster instead of using Solr.
> So I tried to switch indexing backend into ES with 
> atlas-application.properties as below.
> I used Atlas-1.0.0-SNAPSHOT. 
> {code:java}
> atlas.graph.index.search.backend=elasticsearch
> atlas.graph.index.search.elasticsearch.interface=REST_CLIENT
> atlas.graph.index.search.hostname=ES_URL:PORT
> atlas.graph.index.search.elasticsearch.client-only=true
> {code}
> Howerv, error log was found when I tried to start up. I used embedded Hbase 
> and Kafka except ES backend. Atlas runs well with embedded legacies.
> {code:java}
> 2018-05-15 11:24:43,828 ERROR - [main:] ~ Context initialization failed 
> (ContextLoader:350)
> org.springframework.beans.factory.BeanCreationException: Error creating bean 
> with name 'org.springframework.context.event.internalEventListenerProcessor': 
> BeanPostProcessor before instantiation of bean failed; nested exception is 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'graphTransactionAdvisor' defined in URL 
> [jar:file:/home/suser/atlas_standalone/server/webapp/atlas/WEB-INF/lib/atlas-repository-1.0.0-SNAPSHOT.jar!/org/apache/atlas/GraphTransactionAdvisor.class]:
>  Unsatisfied dependency expressed through constructor parameter 0; nested 
> exception is 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'graphTransactionInterceptor' defined in URL 
> [jar:file:/home/suser/atlas_standalone/server/webapp/atlas/WEB-INF/lib/atlas-repository-1.0.0-SNAPSHOT.jar!/org/apache/atlas/GraphTransactionInterceptor.class]:
>  Unsatisfied dependency expressed through constructor parameter 0; nested 
> exception is org.springframework.beans.factory.BeanCreationException: Error 
> creating bean with name 'get' defined in 
> org.apache.atlas.repository.graph.AtlasGraphProvider: Bean instantiation via 
> factory method failed; nested exception is 
> org.springframework.beans.BeanInstantiationException: Failed to instantiate 
> [org.apache.atlas.repository.graphdb.AtlasGraph]: Factory method 'get' threw 
> exception; nested exception is java.lang.RuntimeException: Configured Index 
> Backend elasticsearch differs from earlier configured Index Backend solr. 
> Aborting!
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:479)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
> at 
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
> at 
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
> at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
> at 
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)
> at 
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)
> at 
> org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:443)
> at 
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:325)
> at 
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
> at 
> org.apache.atlas.web.setup.KerberosAwareListener.contextInitialized(KerberosAwareListener.java:31)
> at 
> org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:843)
> at 
> org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:533)
> at 
> org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:816)
> at 
> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:345)
> at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1404)
> at 
> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1366)
> at 
> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:778)
> at 
> org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:262)
> at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:520)
> at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
> at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
> at org.eclipse.jetty.server.Server.start(Server.java:422)
> at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
> at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
> at org.eclipse.jetty.server.Server.doStart(Server.java:389)
> at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
> at org.apache.atlas.web.service.EmbeddedServer.start(EmbeddedServer.java:98)
> at org.apache.atlas.Atlas.main(Atlas.java:133)
> Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: 
> Error creating bean with name 'graphTransactionAdvisor' defined in URL 
> [jar:file:/home/suser/atlas_standalone/server/webapp/atlas/WEB-INF/lib/atlas-repository-1.0.0-SNAPSHOT.jar!/org/apache/atlas/GraphTransactionAdvisor.class]:
>  Unsatisfied dependency expressed through constructor parameter 0; nested 
> exception is 
> org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
> creating bean with name 'graphTransactionInterceptor' defined in URL 
> [jar:file:/home/suser/atlas_standalone/server/webapp/atlas/WEB-INF/lib/atlas-repository-1.0.0-SNAPSHOT.jar!/org/apache/atlas/GraphTransactionInterceptor.class]:
>  Unsatisfied dependency expressed through constructor parameter 0; nested 
> exception is org.springframework.beans.factory.BeanCreationException: Error 
> creating bean with name 'get' defined in 
> org.apache.atlas.repository.graph.AtlasGraphProvider: Bean instantiation via 
> factory method failed; nested exception is 
> org.springframework.beans.BeanInstantiationException: Failed to instantiate 
> [org.apache.atlas.repository.graphdb.AtlasGraph]: Factory method 'get' threw 
> exception; nested exception is java.lang.RuntimeException: Configured Index 
> Backend elasticsearch differs from earlier configured Index Backend solr. 
> Aborting!
> at 
> org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749)
> at 
> org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:189)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1193)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1095)
> at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513){code}
> I saw this message in application log.
> {code:java}
> 2018-05-15 12:19:40,386 WARN  - [main:] ~ Local setting 
> index.search.backend=elasticsearch (Type: GLOBAL_OFFLINE) is overridden by 
> globally managed value (solr).  Use the ManagementSystem interface instead of 
> the local configuration to control this setting. 
> (GraphDatabaseConfiguration:1476)
> {code}
> Can you tell me where I could fix this issue or explain about what I've done 
> wrong.
> Thanks you in advance.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to