[
https://issues.apache.org/jira/browse/ATLAS-4956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17922188#comment-17922188
]
Priyanshi Shah commented on ATLAS-4956:
---------------------------------------
This issue occurs when we set the name of a typeDef to one of the property
names like "description, name, version, options, and servicetype". This is
because in the typedef vertex the name conflicts with the property key in the
vertex.
Example, if we have a classification with name "test" and additional attributes
like attr1,attr2, then we have a vertex properties like the one explained below:
__type.name-> test
__type.description -> "" // line2
__type.options -> ""
__type.version -> ""
__type.serviceType -> ""
__type.test -> ["attr1","attr2"] //line6
So, if the name of the typedef is (for example) description, then property key
on line2 conflicts with the one on line 6 and causes the various issues.
> Creating tag with name description throws java.lang.ClassCastException
> ----------------------------------------------------------------------
>
> Key: ATLAS-4956
> URL: https://issues.apache.org/jira/browse/ATLAS-4956
> Project: Atlas
> Issue Type: Bug
> Components: atlas-core
> Reporter: Priyanshi Shah
> Assignee: Priyanshi Shah
> Priority: Major
>
> Attempt to create a tag with name "description" , Atlas throws 500 with
> following exception:
> {code:java}
> 2024-12-31 17:54:36,378 [etp940087898-232 -
> fdf1467f-1146-493b-8b24-6ee25dc089ba] ERROR [ExceptionMapperUtil.java:32]
> Error handling a request: 22206345b8ffa8f0
> java.lang.ClassCastException: java.lang.String cannot be cast to
> java.util.List
> at
> org.apache.atlas.repository.store.graph.v2.AtlasStructDefStoreV2.toStructDef(AtlasStructDefStoreV2.java:495)
> at
> org.apache.atlas.repository.store.graph.v2.AtlasClassificationDefStoreV2.toClassificationDef(AtlasClassificationDefStoreV2.java:355)
> at
> org.apache.atlas.repository.store.graph.v2.AtlasClassificationDefStoreV2.create(AtlasClassificationDefStoreV2.java:103)
> at
> org.apache.atlas.repository.store.graph.v2.AtlasClassificationDefStoreV2.create(AtlasClassificationDefStoreV2.java:46)
> at
> org.apache.atlas.repository.store.graph.AtlasTypeDefGraphStore.addToGraphStore(AtlasTypeDefGraphStore.java:1016)
> at
> org.apache.atlas.repository.store.graph.AtlasTypeDefGraphStore.createTypesDef(AtlasTypeDefGraphStore.java:399)
> at
> org.apache.atlas.repository.store.graph.AtlasTypeDefGraphStore$$FastClassBySpringCGLIB$$5226c80b.invoke(<generated>)
> at
> org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
> at
> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:792)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
> at
> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
> at
> org.apache.atlas.GraphTransactionInterceptor.invoke(GraphTransactionInterceptor.java:111)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
> at
> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:762)
> at
> org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:707)
> at
> org.apache.atlas.repository.store.graph.v2.AtlasTypeDefGraphStoreV2$$EnhancerBySpringCGLIB$$674192d4.createTypesDef(<generated>)
> at
> org.apache.atlas.web.rest.TypesREST.createAtlasTypeDefs(TypesREST.java:399)
> {code}
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)