[ 
https://issues.apache.org/jira/browse/ATLAS-1403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Suma Shivaprasad updated ATLAS-1403:
------------------------------------
    Description: 
Currently DSL uses a filll function to merge results by typeName and 
superTypeName and loads the reskuting 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", T.in, 
['Person','Manager']).and(_().has("Person.birthday", T.lt, -631142641560)) 
[0..<40].toList()}




  was:
Currently DSL uses a filll function to merge results by typeName and 
superTypeName and loads the reskuting 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 typname 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", T.in, 
['Person','Manager']).and(_().has("Person.birthday", T.lt, -631142641560)) 
[0..<40].toList()}





> Perf and stability improvements to DSL search to search only by typeNames
> -------------------------------------------------------------------------
>
>                 Key: ATLAS-1403
>                 URL: https://issues.apache.org/jira/browse/ATLAS-1403
>             Project: Atlas
>          Issue Type: Bug
>    Affects Versions: 0.7-incubating
>            Reporter: Suma Shivaprasad
>            Assignee: Suma Shivaprasad
>             Fix For: 0.8-incubating, 0.7.1-incubating
>
>
> Currently DSL uses a filll function to merge results by typeName and 
> superTypeName and loads the reskuting 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", T.in, 
> ['Person','Manager']).and(_().has("Person.birthday", T.lt, -631142641560)) 
> [0..<40].toList()}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to