Hi Guys, Can you please help me with the below issue? --- Regards, Sreeni
On 01/10/20, 5:57 PM, "Nallapati, Sreenivasulu" <sreenivasulu_nallap...@intuit.com.INVALID> wrote: This email is from an external sender. Hi, We have an entity type (schema) with name, environment, schema_format as attributes and we have created few entities for this type. We want to add new mandatory attribute data_format to schema type. As atlas is not allowing to add a mandatory attribute, we followed the below steps to add the mandatory attribute 1. Delete all the entities of this type from atlas. 2. Delete the existing type using curl -negotiate -u user:pwd -X DELETE -H 'Content-Type: application/json' -H 'Accept: application/json' "http://localhost:21000/api/atlas/v2/types/typedef/name/schema" API. * org.apache.atlas.repository.graphdb.janus.AtlasJanusGraphManagement.deletePropertyKey(String) method renamed all the three properties to schema.name_deleted_0, schema.environment_deleted_0 and schema.schema_format_deleted_0 3. After deleting the model, we posted the updated model with new mandatory attribute using curl -negotiate -u user:pwd -X POST -H 'Content-Type: application/json' -H 'Accept: application/json' "http://localhost:21000/api/atlas/v2/types/typedefs" -d "@./schema.json" 4. Now graph management has new properties name, environment, schema_format, data_format and previously renamed properties name_deleted_0, environment_deleted_0, schema_format_deleted_0 5. When we try to create a new entity with the new model, the entity got created successfully in the backend store and failing to create the entity in the search store with the below error (because of mapped-type) Multiple entries with same key: schema.name=org.janusgraph.diskstorage.indexing.StandardKeyInformation@55e7c2b4 and schema.name=org.janusgraph.diskstorage.indexing.StandardKeyInformation@b884972 at com.google.common.collect.ImmutableMap.conflictException(ImmutableMap.java:215) at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:209) at com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(RegularImmutableMap.java:147) at com.google.common.collect.RegularImmutableMap.fromEntryArray(RegularImmutableMap.java:110) at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:393) at org.janusgraph.graphdb.database.IndexSerializer$IndexInfoRetriever$1.get(IndexSerializer.java:162) 1. The renamed attributes (schema.name_deleted_0) has a property “mapped-name” to the schema.type attribute. While building the ImmutableMap, “mapped-name” of schema.name_deleted_0 is colliding with the schema.name Have few queries about this functionality. 1. Is there any reason why properties are getting renamed instead of delete when we delete the model? 2. Is there any configuration setting to tweak this functionality or How to add a mandatory attribute to the existing model type? 3. Is it ok if we delete the renamed (m.getPropertyKey('schema.name_deleted_0').remove())properties from graph management using gremlin console? Please guide us in the proper direction if we are not doing the right thing. --- Regards, Sreeni