atlas-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Madhan Neethiraj (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ATLAS-2251) Remove/replace use of TypeSystem with AtlasTypeRegistry
Date Fri, 10 Nov 2017 06:49:00 GMT

    [ https://issues.apache.org/jira/browse/ATLAS-2251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16247088#comment-16247088
] 

Madhan Neethiraj commented on ATLAS-2251:
-----------------------------------------

This patch removes 'TypeSystem' implementation and updates/removed all references to TypeSystem.
Also, usages of scala/json4s/gson libraries have been removed. Please note that current implementation
of DSL query, using Scala and TypeSystem, has been removed in this patch. DSL will be implemented
using AtlasTypeRegistry in a subsequent patch shortly.

Please note that following classes have been renamed/relocated. All references to these classes
have been updated for this.

{noformat}
 org.apache.atlas.typesystem.Referenceable                                      ==> org.apache.atlas.v1.model.instance.Referenceable
 org.apache.atlas.typesystem.Struct                                             ==> org.apache.atlas.v1.model.instance.Struct
 org.apache.atlas.typesystem.persistence.Id                                     ==> org.apache.atlas.v1.model.instance.Id
 org.apache.atlas.typesystem.persistence.AtlasSystemAttributes                  ==> org.apache.atlas.v1.model.instance.AtlasSystemAttributes
 org.apache.atlas.typesystem.types.AttributeDefinition                          ==> org.apache.atlas.v1.model.typedef.AttributeDefinition
 org.apache.atlas.typesystem.types.HierarchicalTypeDefinition<ClassType>        ==>
org.apache.atlas.v1.model.typedef.ClassTypeDefinition
 org.apache.atlas.typesystem.types.EnumTypeDefinition                           ==> org.apache.atlas.v1.model.typedef.EnumTypeDefinition
 org.apache.atlas.typesystem.types.EnumValue                                    ==> org.apache.atlas.v1.model.typedef.EnumTypeDefinition.EnumValue
 org.apache.atlas.typesystem.types.HierarchicalTypeDefinition                   ==> org.apache.atlas.v1.model.typedef.HierarchicalTypeDefinition
 org.apache.atlas.typesystem.types.Multiplicity                                 ==> org.apache.atlas.v1.model.typedef.Multiplicity
 org.apache.atlas.typesystem.types.StructTypeDefinition                         ==> org.apache.atlas.v1.model.typedef.StructTypeDefinition
 org.apache.atlas.typesystem.types.HierarchicalTypeDefinition<TraitType>        ==>
org.apache.atlas.v1.model.typedef.TraitTypeDefinition
 org.apache.atlas.typesystem.TypesDef.scala                                     ==> org.apache.atlas.v1.model.typedef.TypesDef
 org.apache.atlas.typesystem.types.TypeUtils                                    ==> org.apache.atlas.v1.typesystem.types.utils.TypesUtil
 org.apache.atlas.notification.entity.EntityNotification                        ==> org.apache.atlas.model.notification.EntityNotification
 org.apache.atlas.notification.hook.HookNotification.HookNotificationMessage    ==> org.apache.atlas.model.notification.HookNotification
 org.apache.atlas.notification.AtlasNotificationBaseMessage                     ==> org.apache.atlas.model.notification.AtlasNotificationBaseMessage
 org.apache.atlas.notification.AtlasNotificationMessage                         ==> org.apache.atlas.model.notification.AtlasNotificationMessage
 org.apache.atlas.notification.AtlasNotificationStringMessage                   ==> org.apache.atlas.model.notification.AtlasNotificationStringMessage
 org.apache.atlas.notification.MessageVersion                                   ==> org.apache.atlas.model.notification.MessageVersion
 org.apache.atlas.notification.entity.EntityNotificationImpl                    ==> org.apache.atlas.v1.model.notification.EntityNotificationV1
 org.apache.atlas.notification.hook.HookNotification.EntityCreateRequest        ==> org.apache.atlas.v1.model.notification.HookNotificationV1.EntityCreateRequest
 org.apache.atlas.notification.hook.HookNotification.EntityDeleteRequest        ==> org.apache.atlas.v1.model.notification.HookNotificationV1.EntityDeleteRequest
 org.apache.atlas.notification.hook.HookNotification.EntityPartialUpdateRequest ==> org.apache.atlas.v1.model.notification.HookNotificationV1.EntityPartialUpdateRequest
 org.apache.atlas.notification.hook.HookNotification.EntityUpdateRequest        ==> org.apache.atlas.v1.model.notification.HookNotificationV1.EntityUpdateRequest
 org.apache.atlas.notification.MessageDeserializer                              ==> org.apache.atlas.notification.AtlasNotificationMessageDeserializer
{noformat}


> 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
>             Fix For: 1.0.0
>
>         Attachments: ATLAS-2251-1.patch, ATLAS-2251-3.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)

Mime
View raw message