atlas-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sarath Subramanian <>
Subject Re: Review Request 55813: Porting performance and stability changes made in 0.7 branch into master
Date Mon, 23 Jan 2017 22:09:38 GMT

This is an automatically generated e-mail. To reply, visit:

(Updated Jan. 23, 2017, 2:09 p.m.)

Review request for atlas, Madhan Neethiraj and Suma Shivaprasad.


Implemented typeTestExpressionUsingInFilter() and made changes to use Gremlin2ExpressionFactory

Bugs: ATLAS-1403

Repository: atlas


Currently DSL uses a fill function during Gremlin Translation to merge results by typeName
and superTypeName and fill function loads the resulting vertices in memory. This causes significant
memory usage and ATLAS server spends lot of time doing GC instead of useful work resulting
in OOO sometimes ( when GC is not able to recover and search queries are run in parallel)
The proposal is to replace this with typeName checks along by finding all the subtypes for
a given type and using an IN clause in the filter.
For eg:
Query = Person where (birthday < "1950-01-01T02:35:58.440Z") limit 40 offset 0
Optimized query
Gremlin Query = L:
{g.V.has("__typeName",, ['Person','Manager']).and(_().has("Person.birthday",, -631142641560))

Diffs (updated)

  repository/src/main/java/org/apache/atlas/discovery/ fd5dba7 
  repository/src/main/java/org/apache/atlas/gremlin/ 41dc65f

  repository/src/main/java/org/apache/atlas/gremlin/ 3677544

  repository/src/main/java/org/apache/atlas/repository/graph/ 889236c 
  repository/src/main/scala/org/apache/atlas/query/ClosureQuery.scala daef582 
  repository/src/main/scala/org/apache/atlas/query/GraphPersistenceStrategies.scala a9dcdff

  repository/src/main/scala/org/apache/atlas/query/GremlinEvaluator.scala ade4176 
  repository/src/test/scala/org/apache/atlas/query/GremlinTest2.scala 33513c5 



Ran Unit Tests and was successful.


Sarath Subramanian

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message