[ https://issues.apache.org/jira/browse/ATLAS-1085?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Madhan Neethiraj resolved ATLAS-1085. ------------------------------------- Resolution: Fixed This refers to code that doesn't exist any more in Atlas. > With more than 15K classes defined in the types system - Atlas startup fails > with "org.apache.atlas.typesystem.exception.TypeExistsException" when > restoring type system - same type is stored more than one time in the store. > ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: ATLAS-1085 > URL: https://issues.apache.org/jira/browse/ATLAS-1085 > Project: Atlas > Issue Type: Bug > Affects Versions: 0.7-incubating > Reporter: Ayub Pathan > Priority: Major > Attachments: application.log > > > Steps to reproduce: > * Create around 15K classes in the type system. > * Restart atlas to make sure all the classes are loaded properly > *Build: HDP-2.5.0.0-1114* > Attaching application log. > *Expected behavior: Atlas should make sure all the class types are unique > before writing to backend store.* > Exception snapshot from the logs: > {noformat} > 2016-08-03 09:49:47,979 WARN - [main:] ~ Failed startup of context > o.e.j.w.WebAppContext@a47b029{/,file:/grid/0/hdp/2.5.0.0-1114/atlas/server/webapp/atlas/,STARTING}{/usr/hdp/current/atlas-server/server/webapp/atlas} > (WebAppContext:514) > com.google.inject.CreationException: Unable to create injector, see the > following errors: > 1) Error injecting constructor, > org.apache.atlas.typesystem.exception.TypeExistsException: Cannot redefine > type className_update_rand_090750377 > at > org.apache.atlas.services.DefaultMetadataService.<init>(DefaultMetadataService.java:117) > at > org.apache.atlas.services.DefaultMetadataService.class(DefaultMetadataService.java:93) > while locating org.apache.atlas.services.DefaultMetadataService > at > org.apache.atlas.RepositoryMetadataModule.configure(RepositoryMetadataModule.java:83) > while locating org.apache.atlas.services.MetadataService > 1 error > at > com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:466) > at > com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:184) > at > com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110) > at com.google.inject.Guice.createInjector(Guice.java:96) > at com.google.inject.Guice.createInjector(Guice.java:73) > at com.google.inject.Guice.createInjector(Guice.java:62) > at > org.apache.atlas.web.listeners.GuiceServletConfig.getInjector(GuiceServletConfig.java:78) > at > com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:47) > at > org.apache.atlas.web.listeners.GuiceServletConfig.contextInitialized(GuiceServletConfig.java:132) > at > org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800) > at > org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444) > at > org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:791) > at > org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294) > at > org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349) > at > org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342) > at > org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741) > at > org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) > at > org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) > at org.eclipse.jetty.server.Server.start(Server.java:387) > at > org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) > at > org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) > at org.eclipse.jetty.server.Server.doStart(Server.java:354) > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) > at > org.apache.atlas.web.service.EmbeddedServer.start(EmbeddedServer.java:93) > at org.apache.atlas.Atlas.main(Atlas.java:113) > Caused by: org.apache.atlas.typesystem.exception.TypeExistsException: Cannot > redefine type className_update_rand_090750377 > at > org.apache.atlas.typesystem.types.TypeSystem$TransientTypeSystem.validateAndSetupShallowTypes(TypeSystem.java:432) > at > org.apache.atlas.typesystem.types.TypeSystem$TransientTypeSystem.verifyTypes(TypeSystem.java:693) > at > org.apache.atlas.typesystem.types.TypeSystem$TransientTypeSystem.defineTypes(TypeSystem.java:610) > at > org.apache.atlas.typesystem.types.TypeSystem.defineTypes(TypeSystem.java:277) > at > org.apache.atlas.typesystem.types.TypeSystem.defineTypes(TypeSystem.java:269) > at > org.apache.atlas.services.DefaultMetadataService.restoreTypeSystem(DefaultMetadataService.java:163) > at > org.apache.atlas.services.DefaultMetadataService.<init>(DefaultMetadataService.java:152) > at > org.apache.atlas.services.DefaultMetadataService.<init>(DefaultMetadataService.java:117) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:526) > at > com.google.inject.internal.DefaultConstructionProxyFactory$2.newInstance(DefaultConstructionProxyFactory.java:86) > at > com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105) > at > com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85) > at > com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) > at > com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145) > at > com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) > at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) > at > com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145) > 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:1092) > at > com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:199) > at > com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:180) > ... 24 more > 2016-08-03 09:49:48,019 INFO - [main:] ~ Started > ServerConnector@f0bc1c6{HTTP/1.1}{0.0.0.0:21000} (ServerConnector:266) > 2016-08-03 09:49:48,020 INFO - [main:] ~ Started @444827ms (Server:379) > {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)