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)