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

Neeru Gupta updated ATLAS-1379:
-------------------------------
    Attachment: rb54759.patch

> Avoid object query overhead when report query selects class type alias
> ----------------------------------------------------------------------
>
>                 Key: ATLAS-1379
>                 URL: https://issues.apache.org/jira/browse/ATLAS-1379
>             Project: Atlas
>          Issue Type: Improvement
>            Reporter: Neeru Gupta
>            Assignee: Neeru Gupta
>              Labels: performance
>             Fix For: 0.8-incubating
>
>         Attachments: rb54759.patch
>
>
> When the DSL query is selecting the class alias, which causes Atlas to run an 
> object query. Atlas should detect this query construct and avoid the overhead 
> of full entity retrieval, when the entity ends up being serialized as an 
> structure that just contains the guid, type, and status.
> For queries like: 'from hive_db  as h select h', even though the end result 
> only contains id object, Atlas code initially loads the entire object with 
> all its properties and while serializing it ends up serializing only the id 
> part. This bug is to avoid the overhead of loading the entire object when 
> fields other than id will be discarded anyways. This added a lot of overhead 
> and was identified as hotspot in our internal testing. This is specially 
> relevant when large number of objects are retrieved as search results. 
> Note that the fixes are backward compatible. The end result remains the same. 
> Only the overwork to load unnecessary fields is avoided.
> Sample Query: 'from hive_db as h select h'
> Result:
> rows":[
>     {
>       "$typeName$":"__tempQueryResultStruct2",
>       "id":{
>         "id":"8159ee38-ec29-4d9a-845a-86fe17ab6bdb",
>         "$typeName$":"hive_db",
>         "version":0,
>         "state":"ACTIVE"
>       }
>     },
>     {
>       "$typeName$":"__tempQueryResultStruct2",
>       "id":{
>         "id":"33016845-4b71-4d56-b131-b48ea38e5507",
>         "$typeName$":"hive_db",
>         "version":0,
>         "state":"ACTIVE"
>       }
>     },
>     {
>       "$typeName$":"__tempQueryResultStruct2",
>       "id":{
>         "id":"b6fb9c53-680e-4be7-b143-f8d9355c5726",
>         "$typeName$":"hive_db",
>         "version":0,
>         "state":"ACTIVE"
>       }
>     }
>   ]



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

Reply via email to