[
https://issues.apache.org/jira/browse/ATLAS-3700?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Na Li updated ATLAS-3700:
-------------------------
Description:
*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:
{
"name": "metadata",
"typeName": "map<string,string>",
"isIndexable": false,
"isOptional": true,
"isUnique": false,
"options": \{
"isAppendOnPartialUpdate": "true"
}
}
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.
was:
*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".
> Partial update to Atlas overwrite map entry with different keys
> ---------------------------------------------------------------
>
> 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:
> {
> "name": "metadata",
> "typeName": "map<string,string>",
> "isIndexable": false,
> "isOptional": true,
> "isUnique": false,
> "options": \{
> "isAppendOnPartialUpdate": "true"
> }
> }
> 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)