You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by "Madhan Neethiraj (Jira)" <ji...@apache.org> on 2020/05/18 01:36:00 UTC

[jira] [Resolved] (ATLAS-362) Non-String map keys allowed in type definition but cause error when storing entity

     [ https://issues.apache.org/jira/browse/ATLAS-362?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Madhan Neethiraj resolved ATLAS-362.
------------------------------------
    Resolution: Cannot Reproduce

This issue doesn't reproduce any more; and the referenced code is no more present in Atlas.

> Non-String map keys allowed in type definition but cause error when storing entity
> ----------------------------------------------------------------------------------
>
>                 Key: ATLAS-362
>                 URL: https://issues.apache.org/jira/browse/ATLAS-362
>             Project: Atlas
>          Issue Type: Bug
>    Affects Versions: 0.6-incubating
>            Reporter: Dave Kantor
>            Priority: Minor
>
> Atlas currently lets you define map types as having an arbitrary type for the key and the value.  A type with map attribute with a non-string key can be registered without any problem.  However, if you use anything other than a string as the key type and try to store a value in the map type you get an exception.  Atlas should either correctly handle non-string keys or throw an exception when trying to register a type with a map attribute that uses a non-string key type.
> In our case, we created a type with an attribute of type map<byte,byte> without any error.  However, storing entities with this attribute set fails with the following exception:
>  java.lang.ClassCastException: java.lang.Byte incompatible with java.lang.String
> 	at org.apache.atlas.repository.graph.GraphBackedMetadataRepository$GraphToTypedInstanceMapper.mapVertexToMapInstance(GraphBackedMetadataRepository.java:1111)
> 	at org.apache.atlas.repository.graph.GraphBackedMetadataRepository$GraphToTypedInstanceMapper.mapVertexToAttribute(GraphBackedMetadataRepository.java:1002)
> 	at org.apache.atlas.repository.graph.GraphBackedMetadataRepository$GraphToTypedInstanceMapper.mapVertexToInstance(GraphBackedMetadataRepository.java:971)
> 	at org.apache.atlas.repository.graph.GraphBackedMetadataRepository$GraphToTypedInstanceMapper.mapGraphToTypedInstance(GraphBackedMetadataRepository.java:950)
> 	at org.apache.atlas.repository.graph.GraphBackedMetadataRepository$TypedInstanceToGraphMapper.getFullTextForVertex(GraphBackedMetadataRepository.java:522)
> 	at org.apache.atlas.repository.graph.GraphBackedMetadataRepository$TypedInstanceToGraphMapper.addFullTextProperty(GraphBackedMetadataRepository.java:515)
> 	at org.apache.atlas.repository.graph.GraphBackedMetadataRepository$TypedInstanceToGraphMapper.mapTypedInstanceToGraph(GraphBackedMetadataRepository.java:499)
> 	at org.apache.atlas.repository.graph.GraphBackedMetadataRepository$TypedInstanceToGraphMapper.access$100(GraphBackedMetadataRepository.java:471)
> 	at org.apache.atlas.repository.graph.GraphBackedMetadataRepository.createEntities(GraphBackedMetadataRepository.java:154)
> 	at org.apache.atlas.GraphTransactionInterceptor.invoke(GraphTransactionInterceptor.java:42)
> 	at org.apache.atlas.services.DefaultMetadataService.createEntities(DefaultMetadataService.java:251)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)