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 2017/11/08 09:33:00 UTC

[jira] [Updated] (ATLAS-2251) Remove/replace use of TypeSystem with AtlasTypeRegistry

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

Madhan Neethiraj updated ATLAS-2251:
------------------------------------
    Attachment: ATLAS-2251-1.patch

Here is summary of the changes in this patch:
 - removed TypeSystem implementation from Atlas
 - references to TypeSystem have either been removed or replaced to use AtlasTypeRegistry
 - notification module has been refactored to move notification message classes to intg module
 - updated serialize/deserialize of notifications to use Jackson library instead of GSON. Wire format of the message remain same as the one from GSON generated JSON
 - V1 data classes used in REST API & notifications have been over to model package in intg module, along with other classes used in V2 REST APIs
 - updated all Hook implementations, UTs and ITs for the changes in classes used in notifications
 - removed all Scala sources from Atlas

Verified that functions correctly with this patch, except for the TODO items listed below.

TODO:
 - DSL implementation in Scala, which used TypeSystem, has been removed. This needs to be replaced with equivalent implementation to use AtlasTypeRegistry
 - Few REST APIs that use V1 classes (like MetadataRepository) have been stubbed out - DataSetLineageResource, LineageResource, MetadataDiscoveryResource. These need to be updated to use V2 implementations

> Remove/replace use of TypeSystem with AtlasTypeRegistry
> -------------------------------------------------------
>
>                 Key: ATLAS-2251
>                 URL: https://issues.apache.org/jira/browse/ATLAS-2251
>             Project: Atlas
>          Issue Type: Task
>          Components:  atlas-core
>    Affects Versions: 1.0.0
>            Reporter: Madhan Neethiraj
>            Assignee: Madhan Neethiraj
>            Priority: Critical
>         Attachments: ATLAS-2251-1.patch
>
>
> With introduction of V2 APIs in 0.8 release, Atlas core type-system implementation moved to use AtlasTypeRegistry (which uses data-structures introduced in V2 APIs). However, earlier version equivalent, TypeSystem (which uses V1 data-structures), is still being referenced in few places, like:
>  - V1 REST APIs, to covert between V1 and V2 data-structures
>  - notification processing, which uses V1 data-structures
>  - DSL query implementation
>  - AtlasClient API
>  - unit tests
> Having to support legacy TypeSystem causes run time overhead in duplicate caching of type-information - in AtlasTypeRegistry and TypeSystem. Removing TypeSystem implementation will help eliminate this overhead and also improve maintainability of Atlas sources.
> This JIRA is to track removal of TypeSystem implementation and its references; where necessary, references should be updated to use AtlasTypeRegistry equivalent.
> - it is very critical to continue to support V1 REST APIs and processing of current V1 notifications 
> - existing unit tests that use V1 data-structures will be removed and will be replaced with equivalents that use V2 data-structures
> - AtlasClient in new release will only support V2 data-structures; however, older version AtlasClient will continue to work with new version of Atlas server



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)