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)