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)

Reply via email to