atlas-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Madhan Neethiraj (JIRA)" <>
Subject [jira] [Updated] (ATLAS-2251) Remove/replace use of TypeSystem with AtlasTypeRegistry
Date Wed, 08 Nov 2017 09:33:00 GMT


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.

 - 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:
>             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
> - 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

View raw message