You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@atlas.apache.org by "Na Li (Jira)" <ji...@apache.org> on 2020/03/31 19:41:00 UTC

[jira] [Updated] (ATLAS-3700) added option to append value to array, map type attributes

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

Na Li updated ATLAS-3700:
-------------------------
    Summary: added option to append value to array, map type attributes  (was: Partial update to Atlas overwrite map entry with different keys)

> added option to append value to array, map type attributes
> ----------------------------------------------------------
>
>                 Key: ATLAS-3700
>                 URL: https://issues.apache.org/jira/browse/ATLAS-3700
>             Project: Atlas
>          Issue Type: Bug
>          Components:  atlas-core
>    Affects Versions: 3.0.0
>            Reporter: Na Li
>            Assignee: Madhan Neethiraj
>            Priority: Major
>             Fix For: 2.1.0, 3.0.0
>
>         Attachments: ATLAS-3700.003.patch, ATLAS-3700.004.patch, ATLAS-3700.patch
>
>
> *Details:*
> 1) The model definition is in "https://github.com/apache/atlas/blob/master/addons/models/4000-MachineLearning/4010-ml_model.json#L90"
> 2) I created a request of type EntityCreateRequestV2. It contains an entity of type ml_model_build with an attribute "metadata", which is a map, and contains key-value entries for "engineImageTag" and "engineImageName".
> 3) Then I created a request of type EntityPartialUpdateRequestV2. It contains an entity of type ml_model_build with an attribute "metadata", which is a map, and contains key-value entry for "updated_at".
> 4) In the properties of the entity ml_model_build, the * attribute "*metadata" only contains key-value entry for "updated_at".
> *Desired behavior:*
> The attribute "metadata" should contains key-value entries for "engineImageTag", "engineImageName" and "updated_at".
> Current behavior:
> the attribute "metadata" only contains key-value entry for "updated_at".
>  
>  Added 'isAppendOnPartialUpdate' option in attribute-def, to enable appending of values to array/map type attributes during partial-update operation.
> Example:
> {code:java}
> {
>     "name":        "metadata",
>     "typeName":    "map<string,string>",
>     "isIndexable": false,
>     "isOptional":  true,
>     "isUnique":    false,
>     "options": {
>       "isAppendOnPartialUpdate": "true"
>     }
>   }{code}
>  
> The value specified for this attribute in partial-update API calls will be appended to existing value - if present. Full-update API calls will overwrite the value of the attribute, as it does currently; there is no change in full-update behavior.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)