[ https://issues.apache.org/jira/browse/ATLAS-1681?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Apoorv Naik resolved ATLAS-1681. -------------------------------- Resolution: Fixed > Atlas went into inconsistent state after creating a type with faulty > definition > ------------------------------------------------------------------------------- > > Key: ATLAS-1681 > URL: https://issues.apache.org/jira/browse/ATLAS-1681 > Project: Atlas > Issue Type: Bug > Components: atlas-core > Affects Versions: trunk, 0.9-incubating > Reporter: Sharmadha Sainath > Assignee: Apoorv Naik > Attachments: EmptyAttrNameInTypeDef.txt > > > Created an entity type with one of its attribute name empty with the > following definition with the following JSON: > {code} > { > "structDefs":[ > ], > "entityDefs":[ > { > "category":"ENTITY", > "updateTime":12345, > "name":"entity_incorrect", > "typeVersion":"0.1", > "attributeDefs":[ > { > "name":"type_str", > "isOptional":true, > "isUnique":false, > "isIndexable":false, > "typeName":"string", > "valuesMaxCount":1, > "cardinality":"SINGLE", > "valuesMinCount":0 > }, > { > "name":"", > "typeName":"int", > "isOptional":true, > "cardinality":"SINGLE", > "valuesMinCount":-1, > "valuesMaxCount":-1, > "isUnique":false, > "isIndexable":false > } > ], > "superTypes":[ > ], > "version":12345, > "guid":"-48964f25979it51334479", > "createTime":12345, > "description":"incorrect json" > } > ], > "classificationDefs":[ > ], > "enumDefs":[ > ] > } > {code} > *Note the second attribute name in the attribute definition* > POSTed the type definition to > {code} > /api/atlas/v2/types/typedefs > {code} > The type is created ,with 200 OK but with exception > {code} > java.lang.IllegalArgumentException: Attribute name cannot be empty > {code} > (Attached the complete stack trace as a file) > Inconsistency Observed : > 1. Types drop down box lists the type entity_incorrect , but clicking on it > throws "Invalid Expression" exception > > 2. Therafter ,any type creation (entity type , classification etc) is > succeeding with 200 OK but application.log has exception : > {code} > org.apache.atlas.query.Expressions$UnresolvedException: Unresolved id, > expression: entity_correct > {code} > Example : > After POSTing the incorrect json to Atlas , created a tag tag_after in UI . > It succeeded. But Search of tag throws invalid expression and tag Association > to entity fails with > {code} > org.apache.atlas.exception.AtlasBaseException: > org.apache.atlas.repository.RepositoryException: > org.apache.atlas.typesystem.exception.TypeNotFoundException: Unknown > datatype: tag_after > {code} > Type registration is affected when Atlas accepts the wrong JSON. > Giving an empty attribute name is not a very common scenario but at what > conditions such wrong JSONs could be accepted should be looked at. -- This message was sent by Atlassian JIRA (v6.3.15#6346)