I have another data point. If I bring up the relationships UI tab from the A entity, I can double click on the B entity and be taken to it. However, I cannot double click on A to go back to that entity. Here are the raw entities:
A: { "referredEntities": {}, "entity": { "typeName": "DiscoveryPack", "attributes": { "owner": null, "concepts": "{\"Student\":{\"baseStore\":\"PS_PERSON\"}}", "qualifiedName": "a2fee698-32d6-4c7b-9adf-81270e927d9f<>discoveryPack", "scoreSpecification": null, "name": "discovery_pack_instance", "description": "discovery_pack_instance_description", "expectedSystemOfRecord": null, "comparisonFilter": null }, "guid": "b350d741-8c19-4a90-ae31-5cfbc796f440", "status": "ACTIVE", "createdBy": "admin", "updatedBy": "admin", "createTime": 1527784446903, "updateTime": 1527784446903, "version": 0, "relationshipAttributes": { "inputToProcesses": [], "tables": [ { "guid": "5f9b776a-d77a-4252-9d29-fa90d1a455dc", "typeName": "DiscoveryPackTable", "displayText": "table_test", "relationshipGuid": "0d0f5f3e-1c7e-495b-9f25-5c9404435ea8", "relationshipStatus": "ACTIVE", "relationshipAttributes": { "typeName": "DiscoveryPackTables" } } ], "discoveryProcesses": [], "boundDataSources": [], "extractDefinitions": [], "meanings": [], "outputFromProcesses": [] } } } B: { "referredEntities": {}, "entity": { "typeName": "DiscoveryPackTable", "attributes": { "owner": null, "schema": "dbo", "tableType": "TABLE", "qualifiedName": "table_test<>a2fee698-32d6-4c7b-9adf-81270e927d9f<>discoveryPack", "name": "table_test", "description": "discovery_pack_instance_description", "fullName": "dbo.table_test", "primaryKey": { "typeName": "PfKeyDefinition", "attributes": { "columns": null, "tableName": "table_test" } } }, "guid": "5f9b776a-d77a-4252-9d29-fa90d1a455dc", "status": "ACTIVE", "createdBy": "admin", "updatedBy": "admin", "createTime": 1527784446903, "updateTime": 1527784446903, "version": 0, "relationshipAttributes": { "inputToProcesses": [], "columns": [], "discoveryPack": { "guid": "b350d741-8c19-4a90-ae31-5cfbc796f440", "typeName": "DiscoveryPack", "displayText": "discovery_pack_instance", "relationshipGuid": "0d0f5f3e-1c7e-495b-9f25-5c9404435ea8", "relationshipStatus": "ACTIVE", "relationshipAttributes": { "typeName": "DiscoveryPackTables" } }, "meanings": [], "outputFromProcesses": [] } } } On Thu, May 31, 2018 at 11:21 AM, Pierre Padovani < pierre.padov...@civitaslearning.com> wrote: > The level we are using is a few weeks old, but I didn't see an issue that > fixed this in the interim. > > Problem: > > Entity A -> Composition Relationship -> Entity B > > Delete Entity A and Entity B > > I get the following exception trace: > > java.lang.IllegalArgumentException: Invalid edge label > r:DiscoveryPackTables: expected 2 or 3 label components but found 1 at > org.apache.atlas.repository.graph.AtlasEdgeLabel.<init>(AtlasEdgeLabel.java:37) > at org.apache.atlas.repository.store.graph.v1.DeleteHandlerV1. > getAttributeForEdge(DeleteHandlerV1.java:722) at > org.apache.atlas.repository.store.graph.v1.DeleteHandlerV1.deleteVertex(DeleteHandlerV1.java:865) > at org.apache.atlas.repository.store.graph.v1.DeleteHandlerV1. > deleteTypeVertex(DeleteHandlerV1.java:718) at org.apache.atlas.repository. > store.graph.v1.DeleteHandlerV1.deleteEntities(DeleteHandlerV1.java:140) > at org.apache.atlas.repository.store.graph.v1.AtlasEntityStoreV1. > deleteVertices(AtlasEntityStoreV1.java:704) at > org.apache.atlas.repository.store.graph.v1.AtlasEntityStoreV1.deleteById(AtlasEntityStoreV1.java:297) > at org.apache.atlas.repository.store.graph.v1.AtlasEntityStoreV1$$ > FastClassBySpringCGLIB$$80c00649.invoke(<generated>) at > org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) > at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation. > invokeJoinpoint(CglibAopProxy.java:738) at org.springframework.aop. > framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) > at org.apache.atlas.GraphTransactionInterceptor.invoke( > GraphTransactionInterceptor.java:75) at org.springframework.aop.framework. > ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) > at org.springframework.aop.framework.CglibAopProxy$ > DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) at > org.apache.atlas.repository.store.graph.v1.AtlasEntityStoreV1$$ > EnhancerBySpringCGLIB$$2072786c.deleteById(<generated>) at > org.apache.atlas.web.rest.EntityREST.deleteByGuid(EntityREST.java:327) at > sun.reflect.GeneratedMethodAccessor231.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.AbstractResourceMethodDispatch > Provider$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.handle(ServletHolder.java:845) at > org.eclipse.jetty.servlet.ServletHandler$CachedChain. > doFilter(ServletHandler.java:1712) at org.apache.atlas.web.filters. > AuditFilter.doFilter(AuditFilter.java:80) at org.eclipse.jetty.servlet. > ServletHandler$CachedChain.doFilter(ServletHandler.java:1699) 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:370) 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.springframework.security.web.authentication.www. > BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:215) > 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:146) 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.context.SecurityContextPersistenceFilt > er.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:346) at org.springframework.web. > filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262) at > org.eclipse.jetty.servlet.ServletHandler$CachedChain. > doFilter(ServletHandler.java:1691) at org.eclipse.jetty.servlet. > ServletHandler.doHandle(ServletHandler.java:582) at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) > at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) > at org.eclipse.jetty.server.session.SessionHandler. > doHandle(SessionHandler.java:226) at org.eclipse.jetty.server. > handler.ContextHandler.doHandle(ContextHandler.java:1180) at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) > at org.eclipse.jetty.server.session.SessionHandler. > doScope(SessionHandler.java:185) at org.eclipse.jetty.server. > handler.ContextHandler.doScope(ContextHandler.java:1112) at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) > at org.eclipse.jetty.server.Server.handle(Server.java:534) at > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320) at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) > at > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273) > at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) at > org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) > at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume. > executeProduceConsume(ExecuteProduceConsume.java:303) at > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume. > produceConsume(ExecuteProduceConsume.java:148) at > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run( > ExecuteProduceConsume.java:136) 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) >