Support Questions
Find answers, ask questions, and share your expertise

How does apache atlas version entity metadata?

New Contributor

Here is an apache atlas hive column entity:

{
  "referredEntities": {
    
  },
  "entity": {
    "typeName": "hive_column",
    "attributes": {
      "owner": null,
      "qualifiedName": "make",
      "name": "make",
      "description": null,
      "comment": null,
      "position": 0,
      "type": "make",
      "table": {
        "guid": "03fca616-ee26-4273-bf73-afb10fd1127c",
        "typeName": "hive_table"
      }
    },
    "guid": "d4ef03da-4659-4001-9597-02649a24e30b",
    "status": "ACTIVE",
    "createdBy": "admin",
    "updatedBy": "admin",
    "createTime": 1516120300604,
    "updateTime": 1516132015809,
    "version": 0,
    "classifications": [
      
    ]
  }
}

The above JSON contains a version property which has the value of 0.

I have changed the name property, qualifiedName property in the UI but the version value has remained 0.

Can someone explain what causes that value to change and explain how versioning works in Apache Atlas?

1 ACCEPTED SOLUTION

Expert Contributor

(@Sarath Subramanian Thanks for your help on this!)

Version number is primarily used for patch updates to existing data types.
On master, note the patches directory under addons/models/1000-Hadoop/patches

AtlasTypeDefSoreInitializer.loadBootstrapTypeDefs (repository/store/bootstrap/AtlasTypeDefStoreInitializer.java) scans this directory and updates type definitions based on the version.

In short, it is used for maintenance of types.

Beyond this, version is NOT used internally for validation, etc.

View solution in original post

1 REPLY 1

Expert Contributor

(@Sarath Subramanian Thanks for your help on this!)

Version number is primarily used for patch updates to existing data types.
On master, note the patches directory under addons/models/1000-Hadoop/patches

AtlasTypeDefSoreInitializer.loadBootstrapTypeDefs (repository/store/bootstrap/AtlasTypeDefStoreInitializer.java) scans this directory and updates type definitions based on the version.

In short, it is used for maintenance of types.

Beyond this, version is NOT used internally for validation, etc.

; ;