Uploaded image for project: 'Atlas'
  1. Atlas
  2. ATLAS-3232

Relationships, Export & Import : Updates to relationshipDef are not honored during import

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • trunk, 2.1.0
    • atlas-core
    • None

    Description

      1. In source cluster , updated relationshipDef "hive_table_db" propagateTags to "ONE_TO_TWO" from NONE and exported.
        2.In export zip , atlas-typesdef.json has "ONE_TO_TWO" propagateTags value for "hive_table_db" .
        3. But in the import cluster, propagateTags value for hive_table_db is NONE still. In the import options , provided updateTypeDefinition to True too.

      Steps to Duplicate

      1. In source cluster edit ./atlas-server/server/models/1000-Hadoop/1030-hive_model.json
      2. Go to relationshipDefs and update hive_table_db to the following definition:
              {
                  "name": "hive_table_db",
                  "serviceType": "hive",
                  "typeVersion": "1.2",
                  "relationshipCategory": "AGGREGATION",
                  "relationshipLabel": "__hive_table.db",
                  "endDef1": {
                      "type": "hive_table",
                      "name": "db",
                      "isContainer": false,
                      "cardinality": "SINGLE",
                      "isLegacyAttribute": true
                  },
                  "endDef2": {
                      "type": "hive_db",
                      "name": "tables",
                      "isContainer": true,
                      "cardinality": "SET"
                  },
                  "propagateTags": "ONE_TO_TWO"
              }
      

      Note that propagateTags is changed from NONE to ONE_TO_TWO.

      3. Perform export using this request:

      {    
        "itemsToExport": [
        {
          "typeName": "hive_db",
          "uniqueAttributes": { "qualifiedName": "smalldb16@cl1" }    
          }], 
       "options": {"fetchType": "full" }
      }
      

      4. Perform an import on target cluster with no request parameters.

      5. Use this REST call to fetch typesDef:

      http://localhost:21000/api/atlas/v2/types/typedefs
      

      Note the definition of hive_table_db.

       

      Expected results: Import updates hive_table_db on imported cluster_._

      Observed results: Relationship definition for hive_table_db on target cluster remains unchanged.

      CC : ashutoshm

      Attachments

        Issue Links

          Activity

            People

              amestry Ashutosh Mestry
              sharmadhas Sharmadha S
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: