You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by "Sheetal Shah (Jira)" <ji...@apache.org> on 2023/04/27 11:31:00 UTC

[jira] [Resolved] (ATLAS-4687) Atlas server doesn't come up due to circular dependency in TaskRegistry class

     [ https://issues.apache.org/jira/browse/ATLAS-4687?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sheetal Shah resolved ATLAS-4687.
---------------------------------
    Resolution: Resolved

Circular dependency issue caused by repository.src.main.java.org.apache.atlas.tasks.TaskRegistry class is resolved by adding @Lazy annotation on @Component definition of this class.

> Atlas server doesn't come up due to circular dependency in TaskRegistry class
> -----------------------------------------------------------------------------
>
>                 Key: ATLAS-4687
>                 URL: https://issues.apache.org/jira/browse/ATLAS-4687
>             Project: Atlas
>          Issue Type: Bug
>            Reporter: Sheetal Shah
>            Assignee: Sheetal Shah
>            Priority: Major
>
> Following errors were found intermittently due to which Atlas server won’t start up. These errors pointed to a circular dependency issue which was caused by TaskRegistry class(repository/src/main/java/org/apache/atlas/tasks/TaskRegistry.java) As a resolution to this, @Lazy annotation is added on @Component definition of this class.
> (FYI : A @Lazy bean is not initialised until referenced by another bean or explicitly retrieved from BeanFactory . Beans that are not annotated with @Lazy are initialise eagerly.)
>  
> org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'taskRegistry': Bean with name 'taskRegistry' has been injected into other beans [taskManagement] in its raw version as part of a circular reference, but has eventually been wrapped. This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - consider using 'getBeanNamesForType' with the 'allowEagerInit' flag turned off, for example.
> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:649) ~[spring-beans-5.3.21.jar:5.3.21]
> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.21.jar:5.3.21]
> at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.21.jar:5.3.21]
> at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.21.jar:5.3.21]
> at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.21.jar:5.3.21]
> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.21.jar:5.3.21]
> at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) ~[spring-beans-5.3.21.jar:5.3.21]
> at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.21.jar:5.3.21]
> at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.21.jar:5.3.21]
> at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401) ~[spring-web-5.3.21.jar:5.3.21]
> at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292) [spring-web-5.3.21.jar:5.3.21]
> at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103) [spring-web-5.3.21.jar:5.3.21]
> at org.apache.atlas.web.setup.KerberosAwareListener.contextInitialized(KerberosAwareListener.java:31) [atlas-webapp-3.0.0-SNAPSHOT.jar:?]
> at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1013) [jetty-server-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:553) [jetty-servlet-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:942) [jetty-server-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:782) [jetty-servlet-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:360) [jetty-servlet-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1445) [jetty-webapp-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1409) [jetty-webapp-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:855) [jetty-server-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275) [jetty-servlet-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524) [jetty-webapp-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) [jetty-util-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169) [jetty-util-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.eclipse.jetty.server.Server.start(Server.java:408) [jetty-server-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110) [jetty-util-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97) [jetty-server-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.eclipse.jetty.server.Server.doStart(Server.java:372) [jetty-server-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72) [jetty-util-9.4.31.v20200723.jar:9.4.31.v20200723]
> at org.apache.atlas.web.service.EmbeddedServer.start(EmbeddedServer.java:110) [atlas-webapp-3.0.0-SNAPSHOT.jar:?]
> at org.apache.atlas.Atlas.main(Atlas.java:133) [atlas-webapp-3.0.0-SNAPSHOT.jar:?]
>  
>  
> org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'taskRegistry': Bean with name 'taskRegistry' has been injected into other beans [taskManagement] in its raw version as part of a circular reference, but has eventually been wrapped. This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - consider using 'getBeanNamesForType' with the 'allowEagerInit' flag turned off, for example.
> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:649)
> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
> at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
> at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
> at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
> at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955)
> at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
> at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
> at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:401)
> at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:292)
> at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103)
> at org.apache.atlas.web.setup.KerberosAwareListener.contextInitialized(KerberosAwareListener.java:31)
> at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1013)
> at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:553)
> at org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:942)
> at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:782)
> at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:360)
> at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1445)
> at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1409)
> at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:855)
> at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275)
> at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
> at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
> at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
> at org.eclipse.jetty.server.Server.start(Server.java:408)
> at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
> at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
> at org.eclipse.jetty.server.Server.doStart(Server.java:372)
> at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
> at org.apache.atlas.web.service.EmbeddedServer.start(EmbeddedServer.java:110)
> at org.apache.atlas.Atlas.main(Atlas.java:133)
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)