You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by "Sarath Subramanian (Jira)" <ji...@apache.org> on 2021/03/31 19:21:01 UTC

[jira] [Resolved] (ATLAS-4160) [Atlas: Glossary Term Bulk Import]: Bulk import fails with AtlasBaseException

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

Sarath Subramanian resolved ATLAS-4160.
---------------------------------------
    Resolution: Fixed

> [Atlas: Glossary Term Bulk Import]: Bulk import fails with AtlasBaseException
> -----------------------------------------------------------------------------
>
>                 Key: ATLAS-4160
>                 URL: https://issues.apache.org/jira/browse/ATLAS-4160
>             Project: Atlas
>          Issue Type: Bug
>          Components:  atlas-core
>    Affects Versions: 2.1.0
>            Reporter: Dharshana M Krishnamoorthy
>            Assignee: Mayank Jain
>            Priority: Major
>              Labels: bulk-glossary-import
>             Fix For: 3.0.0, 2.2.0
>
>
> h4. Description
> Bulk import fails with error message:
> *org.apache.atlas.exception.AtlasBaseException: Glossary term with qualifiedName brZd_1@gloss_123_1 already exists*
> though, there is no such term already present
> {code:java}
> 2021-02-17 08:25:55,036 ERROR - [etp823723302-197 - 997d7198-a7af-4cf1-97ae-93b7bfec07b8:] ~ Error handling a request: 6981164eb7efbced (ExceptionMapperUtil:32)
> org.apache.atlas.exception.AtlasBaseException: Error occurred while creating glossary term: {0}
> 	at org.apache.atlas.glossary.GlossaryService.createGlossaryTerms(GlossaryService.java:1107)
> 	at org.apache.atlas.glossary.GlossaryService.importGlossaryData(GlossaryService.java:1092)
> 	at org.apache.atlas.glossary.GlossaryService$$FastClassBySpringCGLIB$$e1f893e0.invoke(<generated>)
> 	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
> 	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:668)
> 	at org.apache.atlas.glossary.GlossaryService$$EnhancerBySpringCGLIB$$f33e53e3.importGlossaryData(<generated>)
> 	at org.apache.atlas.web.rest.GlossaryREST.importGlossaryData(GlossaryREST.java:988)
> 	at sun.reflect.GeneratedMethodAccessor643.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:498)
> 	at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
> 	at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
> 	at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
> 	at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
> 	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> 	at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
> 	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
> 	at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
> 	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
> 	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
> 	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
> 	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
> 	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
> 	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:558)
> 	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:733)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
> 	at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1411)
> 	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:763)
> 	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1651)
> 	at org.apache.atlas.web.filters.AuditFilter.doFilter(AuditFilter.java:106)
> 	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1638)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
> 	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
> 	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.apache.atlas.web.filters.AtlasCSRFPreventionFilter$ServletFilterHttpInteraction.proceed(AtlasCSRFPreventionFilter.java:235)
> 	at org.apache.atlas.web.filters.AtlasCSRFPreventionFilter.handleHttpInteraction(AtlasCSRFPreventionFilter.java:177)
> 	at org.apache.atlas.web.filters.AtlasCSRFPreventionFilter.doFilter(AtlasCSRFPreventionFilter.java:190)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.apache.atlas.web.filters.AtlasAuthenticationFilter.doFilter(AtlasAuthenticationFilter.java:358)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.apache.atlas.web.filters.StaleTransactionCleanupFilter.doFilter(StaleTransactionCleanupFilter.java:55)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.apache.atlas.web.filters.ActiveServerFilter.doFilter(ActiveServerFilter.java:87)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)
> 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.apache.atlas.web.filters.AtlasKnoxSSOAuthenticationFilter.doFilter(AtlasKnoxSSOAuthenticationFilter.java:142)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66)
> 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
> 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
> 	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
> 	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
> 	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
> 	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
> 	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1630)
> 	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:567)
> 	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
> 	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602)
> 	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
> 	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
> 	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610)
> 	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
> 	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1377)
> 	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
> 	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:507)
> 	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580)
> 	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
> 	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1292)
> 	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> 	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
> 	at org.eclipse.jetty.server.Server.handle(Server.java:501)
> 	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
> 	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556)
> 	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
> 	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
> 	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
> 	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
> 	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:540)
> 	at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:395)
> 	at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161)
> 	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
> 	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
> 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
> 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
> 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
> 	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
> 	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> 	at java.lang.Thread.run(Thread.java:748)
> Caused by: org.apache.atlas.exception.AtlasBaseException: Glossary term with qualifiedName brZd_1@gloss_123_1 already exists
> 	at org.apache.atlas.glossary.GlossaryService.createTerm(GlossaryService.java:353)
> 	at org.apache.atlas.glossary.GlossaryService.createGlossaryTerms(GlossaryService.java:1105)
> 	... 111 more {code}
> *Repro steps:*
> Perform a bulk import with the following data.
> [Note: replace *gloss_123* with any unique string to import again and again]
> {code:java}
> GlossaryName, TermName, ShortDescription, LongDescription, Examples, Abbreviation, Usage, AdditionalAttributes, TranslationTerms, ValidValuesFor, Synonyms, ReplacedBy, ValidValues, ReplacementTerms, SeeAlso, TranslatedTerms, IsA, Antonyms, Classifies, PreferredToTerms, PreferredTerms
> gloss_123_1,brZd_1
> gloss_123_1,brZd_2
> gloss_123_1,brZd_3
> gloss_123_1,brZd_4
> gloss_123_1,brZd_5
> gloss_123_1,brZd_6
> gloss_123_1,brZd_7
> gloss_123_1,brZd_8
> gloss_123_1,brZd_9
> gloss_123_1,brZd_10
> gloss_123_2,brZd_1
> gloss_123_2,brZd_2
> gloss_123_2,brZd_3
> gloss_123_2,brZd_4
> gloss_123_2,brZd_5
> gloss_123_2,brZd_6
> gloss_123_2,brZd_7
> gloss_123_2,brZd_8
> gloss_123_2,brZd_9
> gloss_123_2,brZd_10
> gloss_123_3,brZd_1
> gloss_123_3,brZd_2
> gloss_123_3,brZd_3
> gloss_123_3,brZd_4
> gloss_123_3,brZd_5
> gloss_123_3,brZd_6
> gloss_123_3,brZd_7
> gloss_123_3,brZd_8
> gloss_123_3,brZd_9
> gloss_123_3,brZd_10
> gloss_123_4,brZd_1
> gloss_123_4,brZd_2
> gloss_123_4,brZd_3
> gloss_123_4,brZd_4
> gloss_123_4,brZd_5
> gloss_123_4,brZd_6
> gloss_123_4,brZd_7
> gloss_123_4,brZd_8
> gloss_123_4,brZd_9
> gloss_123_4,brZd_10
> gloss_123_5,brZd_1
> gloss_123_5,brZd_2
> gloss_123_5,brZd_3
> gloss_123_5,brZd_4
> gloss_123_5,brZd_5
> gloss_123_5,brZd_6
> gloss_123_5,brZd_7
> gloss_123_5,brZd_8
> gloss_123_5,brZd_9
> gloss_123_5,brZd_10
> gloss_123_6,brZd_1
> gloss_123_6,brZd_2
> gloss_123_6,brZd_3
> gloss_123_6,brZd_4
> gloss_123_6,brZd_5
> gloss_123_6,brZd_6
> gloss_123_6,brZd_7
> gloss_123_6,brZd_8
> gloss_123_6,brZd_9
> gloss_123_6,brZd_10
> gloss_123_7,brZd_1
> gloss_123_7,brZd_2
> gloss_123_7,brZd_3
> gloss_123_7,brZd_4
> gloss_123_7,brZd_5
> gloss_123_7,brZd_6
> gloss_123_7,brZd_7
> gloss_123_7,brZd_8
> gloss_123_7,brZd_9
> gloss_123_7,brZd_10
> gloss_123_8,brZd_1
> gloss_123_8,brZd_2
> gloss_123_8,brZd_3
> gloss_123_8,brZd_4
> gloss_123_8,brZd_5
> gloss_123_8,brZd_6
> gloss_123_8,brZd_7
> gloss_123_8,brZd_8
> gloss_123_8,brZd_9
> gloss_123_8,brZd_10
> gloss_123_9,brZd_1
> gloss_123_9,brZd_2
> gloss_123_9,brZd_3
> gloss_123_9,brZd_4
> gloss_123_9,brZd_5
> gloss_123_9,brZd_6
> gloss_123_9,brZd_7
> gloss_123_9,brZd_8
> gloss_123_9,brZd_9
> gloss_123_9,brZd_10
> gloss_123_10,brZd_1
> gloss_123_10,brZd_2
> gloss_123_10,brZd_3
> gloss_123_10,brZd_4
> gloss_123_10,brZd_5
> gloss_123_10,brZd_6
> gloss_123_10,brZd_7
> gloss_123_10,brZd_8
> gloss_123_10,brZd_9
> gloss_123_10,brZd_10 {code}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)