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

(Updated May 5, 2020, 10:11 p.m.)


Review request for atlas, Bolke de Bruin, Madhan Neethiraj, and Nixon Rodrigues.


Changes
-------

Fixed orderBy for graphQuery by replacing Hashset with LinkedHashSet to 
maintain insertion order.


Repository: atlas


Description
-------

EntitySearchProcessor fails when doing search by classification and specify 
orderBy attribute. The issue is that for graph query you cannot refer to 
attribute by name but need to provide absolute path to entity attribute e.g. 

 

```

{ "attributes": [ "description", "comment", "popularityScore" ], 
"classification": "customer_NON_PII", "excludeDeletedEntities": "False", 
"limit": "", "offset": 100, "sortBy": "Table.popularityScore", "sortOrder": 
"DESCENDING", "typeName": "hive_table" }
```

this query fails with following exception:

 

```

{"exception":{"message":"Provided key does not exist: 
hive_table.popularityScore","class":"java.lang.IllegalArgumentException","stacktrace":"java.lang.IllegalArgumentException:
 Provided key does not exist: hive_table.popularityScore\n\tat 
com.google.common.base.Preconditions.checkArgument(Preconditions.java:163)\n\tat
 org.janusgraph.graphdb.query.graph.GraphCentricQueryBuilder.
orderBy(GraphCentricQueryBuilder.java:160)

```

 

When specify full reference to attribute e.g. 

 

```

{ "attributes": [ "description", "comment", "popularityScore" ], 
"classification": "customer_NON_PII", "excludeDeletedEntities": "False", 
"limit": "", "offset": 100, "sortBy": "Table.popularityScore", "sortOrder": 
"DESCENDING", "typeName": "hive_table" }
```

it fails on validation stage

 

```

{"exception":{"message":"Attribute Table.popularityScore not found for type 
Table","class":"org.apache.atlas.exception.AtlasBaseException","stacktrace":"org.apache.atlas.exception.AtlasBaseException:
 Attribute Table.popularityScore not found for type Table\n\tat 
org.apache.atlas.discovery.SearchContext.validateAttributes(SearchContext.java:288)

```

Reference to JIRA https://issues.apache.org/jira/browse/ATLAS-3776


Diffs (updated)
-----

  
graphdb/common/src/main/java/org/apache/atlas/repository/graphdb/tinkerpop/query/TinkerpopGraphQuery.java
 c70e8bfe8 
  
repository/src/main/java/org/apache/atlas/discovery/EntitySearchProcessor.java 
1a7bf6b16 
  
repository/src/test/java/org/apache/atlas/discovery/EntitySearchProcessorTest.java
 PRE-CREATION 
  repository/src/test/java/org/apache/atlas/query/BasicTestSetup.java 9aa554ad5 
  repository/src/test/java/org/apache/atlas/query/DSLQueriesTest.java 0bbff2f46 


Diff: https://reviews.apache.org/r/72459/diff/4/

Changes: https://reviews.apache.org/r/72459/diff/3-4/


Testing
-------

tested on our dev env.


Thanks,

Damian Warszawski

Reply via email to