> On July 15, 2021, 3:50 p.m., Madhan Neethiraj wrote:
> > repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasGraphUtilsV2.java
> > Line 118 (original), 119 (patched)
> > <https://reviews.apache.org/r/73453/diff/2/?file=2251209#file2251209line119>
> >
> >     For type hive_table, this would change the prefix from "__hive_table" 
> > => "__attribute.hive_table".
> >     
> >     I suggest to use following prefix: "__hive_table._attr". Note that 
> > attribute names in struct/entity/classification/relationship can't begin 
> > with a leading underscore; hence use of prefix "_attr" is safe.
> >     
> >       public static final String ATTRIBUTE_PREFIX            = "._attr";
> >     
> >       public static String getTypeDefPropertyKey(String typeName) {
> >             return PROPERTY_PREFIX + typeName + ATTRIBUTE_PREFIX;
> >         }
> >     
> >         public static String getTypeDefPropertyKey(String typeName, String 
> > child) {
> >             return PROPERTY_PREFIX + typeName + ATTRIBUTE_PREFIX + "." + 
> > child;
> >         }

I think following alternate solution will be better: rename below 'internal' 
properties of a type vertex (defined in Constants.java):
 __type.catagory    => __type.__catagory
 __type.name        => __type.__name
 __type.description => __type.__description
 __type.version     => __type.__version
 __type.options     => __type.__option
 __type.servicetype => __type.__servicetype

This will help avoid the issue when a type with one of the following names is 
created: catagory/name/description/version/option/servicetype


- Madhan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/73453/#review223232
-----------------------------------------------------------


On July 12, 2021, 2:41 p.m., Nixon Rodrigues wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/73453/
> -----------------------------------------------------------
> 
> (Updated July 12, 2021, 2:41 p.m.)
> 
> 
> Review request for atlas, Ashutosh Mestry, Jayendra Parab, Madhan Neethiraj, 
> Nikhil Bonte, Pinal Shah, and Sarath Subramanian.
> 
> 
> Bugs: ATLAS-4353
>     https://issues.apache.org/jira/browse/ATLAS-4353
> 
> 
> Repository: atlas
> 
> 
> Description
> -------
> 
> In Atlas, when we create a new classification with name of "name", then the 
> result is it will create a classification named "[]"  after that if we tried 
> to remove it then it will failed and even we tried with API to remove the 
> "[]" classification, it will responding with invalid name error.
> 
> In the Graph store classification name is set with property __type.name in 
> vertex and the list of attribute name of classification are set with property 
> *__type.<classificationName>* in same vertex.
> If classification name is set with name as "name" , then property __type.name 
> = "name" is overridden by classification attributes with property 
> __type.<classificationName> to empty array [ ie *__type.name=[[]]*.]
> 
> 
> Diffs
> -----
> 
>   repository/src/main/java/org/apache/atlas/repository/graph/GraphHelper.java 
> ff7fd150e 
>   
> repository/src/main/java/org/apache/atlas/repository/patches/AtlasPatchManager.java
>  fae28c440 
>   
> repository/src/main/java/org/apache/atlas/repository/patches/RenameClassificationAttributeArrayKey.java
>  PRE-CREATION 
>   
> repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasEnumDefStoreV2.java
>  5c02105fe 
>   
> repository/src/main/java/org/apache/atlas/repository/store/graph/v2/AtlasGraphUtilsV2.java
>  e73f084b8 
> 
> 
> Diff: https://reviews.apache.org/r/73453/diff/2/
> 
> 
> Testing
> -------
> 
> Tested create types with name "name" with different category.
> Also tested java patch in upgrade scenario. 
> 
> https://ci-builds.apache.org/job/Atlas/job/PreCommit-ATLAS-Build-Test/744/console
> 
> 
> Thanks,
> 
> Nixon Rodrigues
> 
>

Reply via email to