Pierre Padovani created ATLAS-2727: -------------------------------------- Summary: Cannot delete a child of a COMPOSITION/AGGREGATION relationship Key: ATLAS-2727 URL: https://issues.apache.org/jira/browse/ATLAS-2727 Project: Atlas Issue Type: Bug Affects Versions: 1.0.0 Reporter: Pierre Padovani
I am unable to delete a child of a composition/aggregation relationship. I get this exception: {code:java} 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) {code} Type system: {code:java} Entites: { "name": "DiscoveryPack", "superTypes": [ "DataSet" ], "typeVersion": "0.1", "attributeDefs": [ ] }, { "name": "DiscoveryPackTable", "superTypes": [ "Table" ], "typeVersion": "0.1", "attributeDefs": [ ] }, { "name": "Table", "superTypes": [ "DataSet" ], "typeVersion": "0.1", "attributeDefs": [ ] } relationship: { "endDef1": { "type": "DiscoveryPack", "name": "tables", "isContainer": true, "cardinality": "SET", "isLegacyAttribute": false }, "endDef2": { "type": "DiscoveryPackTable", "name": "discoveryPack", "isContainer": false, "cardinality": "SINGLE", "isLegacyAttribute": false }, "name": "DiscoveryPackTables", "propagateTags": "ONE_TO_TWO", "relationshipCategory": "COMPOSITION", "typeVersion": "1.0" }{code} * Create a DiscoveryPack * Create a DiscoveryPackTable. * Create a relationship between them * Delete the DiscoveryPackTable created previously -- This message was sent by Atlassian JIRA (v7.6.3#76005)