[ 
https://issues.apache.org/jira/browse/ATLAS-4674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17620001#comment-17620001
 ] 

ASF subversion and git services commented on ATLAS-4674:
--------------------------------------------------------

Commit 17c78bac3bfd9c8e7c12548b044b9d747704a973 in atlas's branch 
refs/heads/master from Disha Talreja
[ https://gitbox.apache.org/repos/asf?p=atlas.git;h=17c78bac3 ]

ATLAS-4674 - Regression: Classification tagging is not sending appropriate 
notification to ATLAS_ENTITIES

Signed-off-by: radhikakundam <[email protected]>


> Regression: Classification tagging is not sending appropriate notification to 
> ATLAS_ENTITIES
> --------------------------------------------------------------------------------------------
>
>                 Key: ATLAS-4674
>                 URL: https://issues.apache.org/jira/browse/ATLAS-4674
>             Project: Atlas
>          Issue Type: Bug
>          Components:  atlas-core
>            Reporter: Disha Talreja
>            Assignee: Disha Talreja
>            Priority: Major
>         Attachments: ATLAS-4674.patch
>
>
> When we add/delete a classification from an entity, we send notification to 
> ATLAS_ENTITIES so ranger tag sync works appropriately to facilitate Tag-based 
> policy. This functionally seems to be broken and is a regression.
> On further investigation, it is seen that the issue is caused by deferred 
> action for classification propagation as the right notifications are sent 
> when deferred action is disabled. 
> Considering the following example:
> 1. Create two table as shown below at Hive:
> =====================================
> create table parent_table(ssn varchar(100));
> create table child_table as select * from parent_table;
> 2. Created two classification: "PII" and "sensitive"
>  
> 3. Tagged PII to parent_table and notification received at ATLAS_ENTITIES 
> topic:
> -----------------------------------------------------------------------------------------------------------
> {code:java}
> {
>   "source": {},
>   "version":
> {     "version": "1.0.0",     "versionParts": [       1     ]   }
> ,
>   "msgCompressionKind": "NONE",
>   "msgSplitIdx": 1,
>   "msgSplitCount": 1,
>   "msgSourceIP": "172.27.40.5",
>   "msgCreatedBy": "",
>   "msgCreationTime": 1662660308744,
>   "spooled": false,
>   "message": {
>     "type": "ENTITY_NOTIFICATION_V2",
>     "entity": {
>       "typeName": "hive_table",
>       "attributes":
> {         "owner": "admin",         "createTime": 1662602695000,         
> "qualifiedName": "default.parent_table@cm",         "name": "parent_table"    
>   }
> ,
>       "guid": "04ff79d7-b1ff-4354-ba75-a35b28d2f53f",
>       "status": "ACTIVE",
>       "displayText": "parent_table",
>       "classificationNames": [
>         "PII"      ],
>       "classifications": [
>        
> {           "typeName": "PII",           "entityGuid": 
> "04ff79d7-b1ff-4354-ba75-a35b28d2f53f",           "entityStatus": "ACTIVE",   
>         "propagate": true,           "validityPeriods": [],           
> "removePropagationsOnEntityDelete": false        }
>       ],
>       "isIncomplete": false    },
>     "operationType": "CLASSIFICATION_ADD",
>     "eventTime": 1662660307360
>   }
> }
> {
>   "source": {},
>   "version":
> {     "version": "1.0.0",     "versionParts": [       1     ]   }
> ,
>   "msgCompressionKind": "NONE",
>   "msgSplitIdx": 1,
>   "msgSplitCount": 1,
>   "msgSourceIP": "172.27.40.5",
>   "msgCreatedBy": "",
>   "msgCreationTime": 1662660309419,
>   "spooled": false,
>   "message": {
>     "type": "ENTITY_NOTIFICATION_V2",
>     "entity": {
>       "typeName": "hive_process",
>       "attributes":
> {         "qualifiedName": "default.child_table@cm:1662602726000",         
> "clusterName": "cm",         "name": "default.child_table@cm:1662602726000"   
>    }
> ,
>       "guid": "0e180d04-79ed-4cab-bbc3-76af4b876a5b",
>       "status": "ACTIVE",
>       "displayText": "default.child_table@cm:1662602726000",
>       "classificationNames": [
>         "PII"      ],
>       "classifications": [
>        
> {           "typeName": "PII",           "entityGuid": 
> "04ff79d7-b1ff-4354-ba75-a35b28d2f53f",           "entityStatus": "ACTIVE",   
>         "propagate": true,           "validityPeriods": [],           
> "removePropagationsOnEntityDelete": false        }
>       ],
>       "isIncomplete": false    },
>     "operationType": "CLASSIFICATION_ADD",
>     "eventTime": 1662660308935
>   }
> }
> {
>   "source": {},
>   "version":
> {     "version": "1.0.0",     "versionParts": [       1     ]   }
> ,
>   "msgCompressionKind": "NONE",
>   "msgSplitIdx": 1,
>   "msgSplitCount": 1,
>   "msgSourceIP": "172.27.40.5",
>   "msgCreatedBy": "",
>   "msgCreationTime": 1662660309419,
>   "spooled": false,
>   "message": {
>     "type": "ENTITY_NOTIFICATION_V2",
>     "entity": {
>       "typeName": "hive_table",
>       "attributes":
> {         "owner": "admin",         "createTime": 1662602726000,         
> "qualifiedName": "default.child_table@cm",         "name": "child_table"      
> }
> ,
>       "guid": "117bc1c5-748c-4cbd-a86f-8369b7167b1f",
>       "status": "ACTIVE",
>       "displayText": "child_table",
>       "classificationNames": [
>         "PII"      ],
>       "classifications": [
>        
> {           "typeName": "PII",           "entityGuid": 
> "04ff79d7-b1ff-4354-ba75-a35b28d2f53f",           "entityStatus": "ACTIVE",   
>         "propagate": true,           "validityPeriods": [],           
> "removePropagationsOnEntityDelete": false        }
>       ],
>       "isIncomplete": false    },
>     "operationType": "CLASSIFICATION_ADD",
>     "eventTime": 1662660308935
>   }
> }
> {code}
> 4. Tagged another classification "sensitive" to parent_table and the 
> notification at ATLAS_ENTITIES topic:
> -----------------------------------------------------------------------------------------------------
> {code:java}
> {
>   "source": {},
>   "version":
> {     "version": "1.0.0",     "versionParts": [       1     ]   }
> ,
>   "msgCompressionKind": "NONE",
>   "msgSplitIdx": 1,
>   "msgSplitCount": 1,
>   "msgSourceIP": "172.27.40.5",
>   "msgCreatedBy": "",
>   "msgCreationTime": 1662660417995,
>   "spooled": false,
>   "message": {
>     "type": "ENTITY_NOTIFICATION_V2",
>     "entity": {
>       "typeName": "hive_table",
>       "attributes":
> {         "owner": "admin",         "createTime": 1662602695000,         
> "qualifiedName": "default.parent_table@cm",         "name": "parent_table"    
>   }
> ,
>       "guid": "04ff79d7-b1ff-4354-ba75-a35b28d2f53f",
>       "status": "ACTIVE",
>       "displayText": "parent_table",
>       "classificationNames": [
>         "PII",
>         "sensitive"      ],
>       "classifications": [
>        
> {           "typeName": "PII",           "entityGuid": 
> "04ff79d7-b1ff-4354-ba75-a35b28d2f53f",           "entityStatus": "ACTIVE",   
>         "propagate": true,           "validityPeriods": [],           
> "removePropagationsOnEntityDelete": false        }
> ,
>        
> {           "typeName": "sensitive",           "entityGuid": 
> "04ff79d7-b1ff-4354-ba75-a35b28d2f53f",           "entityStatus": "ACTIVE",   
>         "propagate": true,           "validityPeriods": [],           
> "removePropagationsOnEntityDelete": false        }
>       ],
>       "isIncomplete": false    },
>     "operationType": "CLASSIFICATION_ADD",
>     "eventTime": 1662660417115
>   }
> }
> {
>   "source": {},
>   "version":
> {     "version": "1.0.0",     "versionParts": [       1     ]   }
> ,
>   "msgCompressionKind": "NONE",
>   "msgSplitIdx": 1,
>   "msgSplitCount": 1,
>   "msgSourceIP": "172.27.40.5",
>   "msgCreatedBy": "",
>   "msgCreationTime": 1662660418085,
>   "spooled": false,
>   "message": {
>     "type": "ENTITY_NOTIFICATION_V2",
>     "entity": {
>       "typeName": "hive_process",
>       "attributes":
> {         "qualifiedName": "default.child_table@cm:1662602726000",         
> "clusterName": "cm",         "name": "default.child_table@cm:1662602726000"   
>    }
> ,
>       "guid": "0e180d04-79ed-4cab-bbc3-76af4b876a5b",
>       "status": "ACTIVE",
>       "displayText": "default.child_table@cm:1662602726000",
>       "classificationNames": [
>         "PII"      ],
>       "classifications": [
>        
> {           "typeName": "PII",           "entityGuid": 
> "04ff79d7-b1ff-4354-ba75-a35b28d2f53f",           "entityStatus": "ACTIVE",   
>         "propagate": true,           "validityPeriods": [],           
> "removePropagationsOnEntityDelete": false        }
>       ],
>       "isIncomplete": false    },
>     "operationType": "CLASSIFICATION_ADD",
>     "eventTime": 1662660308935
>   }
> }
> {
>   "source": {},
>   "version":
> {     "version": "1.0.0",     "versionParts": [       1     ]   }
> ,
>   "msgCompressionKind": "NONE",
>   "msgSplitIdx": 1,
>   "msgSplitCount": 1,
>   "msgSourceIP": "172.27.40.5",
>   "msgCreatedBy": "",
>   "msgCreationTime": 1662660418085,
>   "spooled": false,
>   "message": {
>     "type": "ENTITY_NOTIFICATION_V2",
>     "entity": {
>       "typeName": "hive_table",
>       "attributes":
> {         "owner": "admin",         "createTime": 1662602726000,         
> "qualifiedName": "default.child_table@cm",         "name": "child_table"      
> }
> ,
>       "guid": "117bc1c5-748c-4cbd-a86f-8369b7167b1f",
>       "status": "ACTIVE",
>       "displayText": "child_table",
>       "classificationNames": [
>         "PII"      ],
>       "classifications": [
>        
> {           "typeName": "PII",           "entityGuid": 
> "04ff79d7-b1ff-4354-ba75-a35b28d2f53f",           "entityStatus": "ACTIVE",   
>         "propagate": true,           "validityPeriods": [],           
> "removePropagationsOnEntityDelete": false        }
>       ],
>       "isIncomplete": false    },
>     "operationType": "CLASSIFICATION_ADD",
>     "eventTime": 1662660308935
>   }
> }
> {code}
> 5. Removed "PII" tag from parent_table and the notification:
> ------------------------------------------------------------
> {code:java}
> {
>   "source": {},
>   "version":
> {     "version": "1.0.0",     "versionParts": [       1     ]   }
> ,
>   "msgCompressionKind": "NONE",
>   "msgSplitIdx": 1,
>   "msgSplitCount": 1,
>   "msgSourceIP": "172.27.40.5",
>   "msgCreatedBy": "",
>   "msgCreationTime": 1662660456406,
>   "spooled": false,
>   "message": {
>     "type": "ENTITY_NOTIFICATION_V2",
>     "entity": {
>       "typeName": "hive_table",
>       "attributes":
> {         "owner": "admin",         "createTime": 1662602695000,         
> "qualifiedName": "default.parent_table@cm",         "name": "parent_table"    
>   }
> ,
>       "guid": "04ff79d7-b1ff-4354-ba75-a35b28d2f53f",
>       "status": "ACTIVE",
>       "displayText": "parent_table",
>       "classificationNames": [
>         "sensitive"      ],
>       "classifications": [
>        
> {           "typeName": "sensitive",           "entityGuid": 
> "04ff79d7-b1ff-4354-ba75-a35b28d2f53f",           "entityStatus": "ACTIVE",   
>         "propagate": true,           "validityPeriods": [],           
> "removePropagationsOnEntityDelete": false        }
>       ],
>       "isIncomplete": false    },
>     "operationType": "CLASSIFICATION_DELETE",
>     "eventTime": 1662660456206
>   }
> }
> {
>   "source": {},
>   "version":
> {     "version": "1.0.0",     "versionParts": [       1     ]   }
> ,
>   "msgCompressionKind": "NONE",
>   "msgSplitIdx": 1,
>   "msgSplitCount": 1,
>   "msgSourceIP": "172.27.40.5",
>   "msgCreatedBy": "",
>   "msgCreationTime": 1662660456586,
>   "spooled": false,
>   "message": {
>     "type": "ENTITY_NOTIFICATION_V2",
>     "entity": {
>       "typeName": "hive_table",
>       "attributes":
> {         "owner": "admin",         "createTime": 1662602726000,         
> "qualifiedName": "default.child_table@cm",         "name": "child_table"      
> }
> ,
>       "guid": "117bc1c5-748c-4cbd-a86f-8369b7167b1f",
>       "status": "ACTIVE",
>       "displayText": "child_table",
>       "classificationNames": [
>         "PII"      ],
>       "classifications": [
>        
> {           "typeName": "PII",           "entityGuid": 
> "04ff79d7-b1ff-4354-ba75-a35b28d2f53f",           "entityStatus": "ACTIVE",   
>         "propagate": true,           "validityPeriods": [],           
> "removePropagationsOnEntityDelete": false        }
>       ],
>       "isIncomplete": false    },
>     "operationType": "CLASSIFICATION_DELETE",
>     "eventTime": 1662660308935
>   }
> }
> {
>   "source": {},
>   "version":
> {     "version": "1.0.0",     "versionParts": [       1     ]   }
> ,
>   "msgCompressionKind": "NONE",
>   "msgSplitIdx": 1,
>   "msgSplitCount": 1,
>   "msgSourceIP": "172.27.40.5",
>   "msgCreatedBy": "",
>   "msgCreationTime": 1662660456587,
>   "spooled": false,
>   "message": {
>     "type": "ENTITY_NOTIFICATION_V2",
>     "entity": {
>       "typeName": "hive_process",
>       "attributes":
> {         "qualifiedName": "default.child_table@cm:1662602726000",         
> "clusterName": "cm",         "name": "default.child_table@cm:1662602726000"   
>    }
> ,
>       "guid": "0e180d04-79ed-4cab-bbc3-76af4b876a5b",
>       "status": "ACTIVE",
>       "displayText": "default.child_table@cm:1662602726000",
>       "classificationNames": [
>         "PII"      ],
>       "classifications": [
>        
> {           "typeName": "PII",           "entityGuid": 
> "04ff79d7-b1ff-4354-ba75-a35b28d2f53f",           "entityStatus": "ACTIVE",   
>         "propagate": true,           "validityPeriods": [],           
> "removePropagationsOnEntityDelete": false        }
>       ],
>       "isIncomplete": false    },
>     "operationType": "CLASSIFICATION_DELETE",
>     "eventTime": 1662660308935
>   }
> }
> {code}
> From the above notification messages, it is clear that the functionality is 
> broken as the messages received are incorrect in case of the second tag 
> (sensitive) being attached and on classification delete. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to