You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by "Madhan Neethiraj (JIRA)" <ji...@apache.org> on 2018/05/17 16:07:00 UTC

[jira] [Updated] (ATLAS-1114) Performance improvements for create/update entities

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

Madhan Neethiraj updated ATLAS-1114:
------------------------------------
    Fix Version/s: 1.0.0

Committed to master: http://git-wip-us.apache.org/repos/asf/incubator-atlas/commit/89f70609

> Performance improvements for create/update entities
> ---------------------------------------------------
>
>                 Key: ATLAS-1114
>                 URL: https://issues.apache.org/jira/browse/ATLAS-1114
>             Project: Atlas
>          Issue Type: Bug
>            Reporter: Jeffrey Hagelberg
>            Assignee: Jeffrey Hagelberg
>            Priority: Major
>             Fix For: 1.0.0
>
>         Attachments: rb51092.patch
>
>
> General Atlas Perforance Improvements
> Apply performance fixes for create/update entities from IBM fork to Atlas.  During our performance profiling, we found a number of performance hotspots in JProfiler.  Our main findings were
>    - multiple queries were being executed for each instance being created/updated to find matches by unique attribute.  
>   - one query was being executed for each instance being created/updated to find the corresponding vertex if there is one
>   - Calculating the value of the full text property was taking a significant portion of the time to create/update entities, mainly due to its calls to getVertexForGUID
> The changes we put in do the following:
> - batch lookups by guid when create/update entities.  Execute one AtlasGraphQuery to find them all.
> - batch lookups by unique attribute when create/update entities.  Execute one AtlasGraphQuery per class to find unique attribute matches.
> - find all existing vertices up front during create/update entity.  Use those vertices during the graph mapping process to avoid running unnecessary graph queries
> - reuse reference vertices from instance to graph mapping when computing full text property



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)