[
https://issues.apache.org/jira/browse/ATLAS-4879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aditya Gupta updated ATLAS-4879:
--------------------------------
Description:
In Atlas UI, if a classification has been applied on an entity, and if that
entity has been soft-deleted, Atlas doesn't allow users to remove the
classification from that entity.
However it is possible to use this DELETE API request (
/{color:#212121}api/atlas/v2/entity/guid/<DELETED_ENTITY_GUID/classification/<CLASSIFICATION_NAME>)
{color}to circumvent this restriction.
Behaviour should be consistent with API as well as UI.
========================================================================================================================================
h3. *Repro Observation: Classification dissociation behavior for soft-deleted
entities*
Atlas has {*}two UIs{*}:
* *Classic UI*
* *New React UI*
In both UIs, classifications (tags) are associated with entities, and there are
*two supported ways* to dissociate a classification:
* Via *UI*
* Via *Backend API (curl)*
h3. *Expected baseline*
* For {*}active (non-deleted) entities{*}:
* UI dissociation works
* Backend API dissociation works
This is consistent across *both UIs*
h3. *Case 1: Entity is soft deleted – Classic UI*
* {*}UI (Classic){*}:
* Not able to dissociate classification from the entity
* {*}Backend API (curl){*}:
* Able to dissociate classification from the entity
*Mismatch between UI and backend behavior*
h3. *Case 2: Entity is soft deleted – New React UI*
* {*}UI (React){*}:
* Able to dissociate classification from the entity
* {*}Backend API (curl){*}:
* Able to dissociate classification from the entity
*UI and backend behavior are consistent*
*Now:*
h3. *Governance expectation for classification dissociation*
* From a {*}governance perspective{*}, when an {*}entity is soft deleted{*}:
* Classifications *should NOT be allowed* to be dissociated from the entity
* This is required to *preserve historical metadata and lineage* associated
with that entity
h3. *Current behavior – Classic UI vs Backend*
* {*}Classic UI (Soft-deleted entity){*}:
* Classification dissociation is *blocked*
* This aligns with governance expectations
* {*}Backend API (curl) – Soft-deleted entity{*}:
* Classification dissociation is *allowed*
* This *contradicts the governance use case*
* Results in loss of historical classification information
h3. *Expected behavior (Governance-aligned)*
* {*}Soft-deleted entity{*}:
* Classification dissociation should be *disallowed*
* Applies to {*}both{*}:
* UI
* Backend API (curl)
* {*}Active (non-deleted) entity{*}:
* Classification dissociation should be *allowed*
* Applies to {*}both{*}:
* UI
* Backend API (curl)
was:
In Atlas UI, if a classification has been applied on an entity, and if that
entity has been soft-deleted, Atlas doesn't allow users to remove the
classification from that entity.
However it is possible to use this DELETE API request (
/{color:#212121}api/atlas/v2/entity/guid/<DELETED_ENTITY_GUID/classification/<CLASSIFICATION_NAME>)
{color}to circumvent this restriction.
Behaviour should be consistent with API as well as UI.
========================================================================================================================================
h3. *Repro Observation: Classification dissociation behavior for soft-deleted
entities*
Atlas has {*}two UIs{*}:
* *Classic UI*
* *New React UI*
In both UIs, classifications (tags) are associated with entities, and there are
*two supported ways* to dissociate a classification:
* Via *UI*
* Via *Backend API (curl)*
h3. *Expected baseline*
* For {*}active (non-deleted) entities{*}:
* UI dissociation works
* Backend API dissociation works
This is consistent across *both UIs*
h3. *Case 1: Entity is soft deleted – Classic UI*
* {*}UI (Classic){*}:
* Not able to dissociate classification from the entity
* {*}Backend API (curl){*}:
* Able to dissociate classification from the entity
*Mismatch between UI and backend behavior*
h3. *Case 2: Entity is soft deleted – New React UI*
* {*}UI (React){*}:
* Able to dissociate classification from the entity
* {*}Backend API (curl){*}:
* Able to dissociate classification from the entity
*UI and backend behavior are consistent*
> Delete classification API request circumvents classification disassociation
> limitation that is present in UI
> ------------------------------------------------------------------------------------------------------------
>
> Key: ATLAS-4879
> URL: https://issues.apache.org/jira/browse/ATLAS-4879
> Project: Atlas
> Issue Type: Bug
> Reporter: Rahul Kurup
> Assignee: Aditya Gupta
> Priority: Major
>
> In Atlas UI, if a classification has been applied on an entity, and if that
> entity has been soft-deleted, Atlas doesn't allow users to remove the
> classification from that entity.
> However it is possible to use this DELETE API request (
> /{color:#212121}api/atlas/v2/entity/guid/<DELETED_ENTITY_GUID/classification/<CLASSIFICATION_NAME>)
> {color}to circumvent this restriction.
> Behaviour should be consistent with API as well as UI.
> ========================================================================================================================================
> h3. *Repro Observation: Classification dissociation behavior for soft-deleted
> entities*
> Atlas has {*}two UIs{*}:
> * *Classic UI*
> * *New React UI*
> In both UIs, classifications (tags) are associated with entities, and there
> are *two supported ways* to dissociate a classification:
> * Via *UI*
> * Via *Backend API (curl)*
>
> h3. *Expected baseline*
> * For {*}active (non-deleted) entities{*}:
> * UI dissociation works
> * Backend API dissociation works
> This is consistent across *both UIs*
>
> h3. *Case 1: Entity is soft deleted – Classic UI*
> * {*}UI (Classic){*}:
> * Not able to dissociate classification from the entity
> * {*}Backend API (curl){*}:
> * Able to dissociate classification from the entity
> *Mismatch between UI and backend behavior*
> h3. *Case 2: Entity is soft deleted – New React UI*
> * {*}UI (React){*}:
> * Able to dissociate classification from the entity
> * {*}Backend API (curl){*}:
> * Able to dissociate classification from the entity
> *UI and backend behavior are consistent*
> *Now:*
> h3. *Governance expectation for classification dissociation*
> * From a {*}governance perspective{*}, when an {*}entity is soft deleted{*}:
> * Classifications *should NOT be allowed* to be dissociated from the entity
> * This is required to *preserve historical metadata and lineage* associated
> with that entity
> h3. *Current behavior – Classic UI vs Backend*
> * {*}Classic UI (Soft-deleted entity){*}:
> * Classification dissociation is *blocked*
> * This aligns with governance expectations
> * {*}Backend API (curl) – Soft-deleted entity{*}:
> * Classification dissociation is *allowed*
> * This *contradicts the governance use case*
> * Results in loss of historical classification information
> h3. *Expected behavior (Governance-aligned)*
> * {*}Soft-deleted entity{*}:
> * Classification dissociation should be *disallowed*
> * Applies to {*}both{*}:
> * UI
> * Backend API (curl)
> * {*}Active (non-deleted) entity{*}:
> * Classification dissociation should be *allowed*
> * Applies to {*}both{*}:
> * UI
> * Backend API (curl)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)