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

Mandy Chessell commented on ATLAS-1836:
---------------------------------------


 Reply to David Radley's comments abover

    Referenceable is part of the existing base model - not all entities are 
referenceable just as not all entities are versionable.  The previous version 
may be a Referenceable if it was created before its type was upgraded to be 
versionable.

    We agreed in the review meeting for this area that the design for 
versioning should be covered with a separated design doc and JIRA however, 
these are the answers to your questions:
        A versionable entity instance needs a GUID for its version and a GUID 
for the entity.  Each version of an entity instance would have the same entity 
GUID and a different version GUID.  The GUID for the version will probably be 
the GUID that is managed by Atlas - and the one called VersionGUID would hold 
the common GUID of the entity.  When a Versionable entity instance is updated, 
a copy of the vertex for itself and vertices for its structs are made into new 
vertices.  These new vertices represent the previous version.  The GUID of the 
new vertex will be the version's GUID.  The new vertices are chained off of the 
current node as the PREVIOUS_VERSION.  The vertices for the original 
versionable entity's properties are updated.  Thus the entity GUID remains 
stable because the actual vertex of the active copy never changes.
        There would only ever be one active version of an entity instance at 
any one time.  This is indicated in the VersionStatus.  If we see more than one 
then there is a bug in the versioning code.
        ActionLogEntry is a set of properties - not an external log file.  It 
is part of the entity - hence struct seems right for this - why would it be an 
independent entity?  It is never referenced outside of the context of the 
entity.  We need it now
        The status of the version determines which stage of the workflow that 
the entity is in - ACTIVE_VERSION means the version of the entity is active.  
DRAFT_VERSION means the version of the entity is still in draft because someone 
is still editting it etc ...

    I am not sure these questions are relevant in order to move the code 
forward now - they are just establishing that structures are in place.  They 
should be set to reasonable defaults while versioning in not implemented.

> Area 0 of the open metadata model
> ---------------------------------
>
>                 Key: ATLAS-1836
>                 URL: https://issues.apache.org/jira/browse/ATLAS-1836
>             Project: Atlas
>          Issue Type: Task
>          Components:  atlas-core
>            Reporter: Mandy Chessell
>            Assignee: Mandy Chessell
>              Labels: OpenMetadata, VirtualDataConnector
>
> This task delivers the JSON files for the new models that describe types for 
> Area 0 in the open metadata model.  This area covers base types.



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

Reply via email to