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

Sarath Subramanian resolved ATLAS-2933.
---------------------------------------
    Resolution: Fixed

> Empty array attributes are returned as null instead of an empty list
> --------------------------------------------------------------------
>
>                 Key: ATLAS-2933
>                 URL: https://issues.apache.org/jira/browse/ATLAS-2933
>             Project: Atlas
>          Issue Type: Bug
>    Affects Versions: 1.1.0
>            Reporter: Cade Parker
>            Assignee: Le Ma
>            Priority: Major
>         Attachments: ATLAS-2933.patch
>
>          Time Spent: 1.5h
>  Remaining Estimate: 0h
>
>  
> Given the following entity def:
> {code:java}
> {
>  "entityDefs": [
>    {
>      "name": "ExampleType",
>      "superTypes": [],
>      "typeVersion": "0.1",
>      "attributeDefs": [
>        {
>          "name": "things",
>          "typeName": "array<string>",
>          "cardinality": "SINGLE",
>          "isIndexable": false,
>          "isOptional": false,
>          "isUnique": false
>        }
>      ]
>    }
>  ]
> }
> {code}
> I can POST a new entity with an empty array for the things attribute 
> successfully:
> {code:java}
> POST /api/atlas/v2/entity
> {
>  "entity":{
>  "typeName":"ExampleType",
>  "attributes":{
>    "things": []
>  },
>  "guid":"-thing",
>  "version":1
>  }
> }
> {code}
> But when i GET the entity by guid, the attribute is null instead of the empty 
> list:
> {code:java}
> GET /api/atlas/v2/entity/guid/d5e33187-3293-4206-bcb8-807dc87c1440
> {
>  "referredEntities": {},
>  "entity": {
>  "typeName": "ExampleType",
>  "attributes": {
>    "things": null
>  },
>  "guid": "d5e33187-3293-4206-bcb8-807dc87c1440",
>  "status": "ACTIVE",
>  "createdBy": "admin",
>  "updatedBy": "admin",
>  "createTime": 1540335741854,
>  "updateTime": 1540335741854,
>  "version": 1
>  }
> }
> {code}
> Atlas should preserve the original value of the create request as an empty 
> list. Returning null here causes further confusion, because the attribute is 
> defined with `isOptional: false` so any consumer of the entity would 
> reasonably expect a non-null value.
> I tested this behavior against Atlas versions 1.0.0 and 1.1.0



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to