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 <
[email protected]> 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)
>