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

sanket bhor updated ATLAS-5279:
-------------------------------
    Description: 
h2. *Background*

In Apache Atlas, when an entity such as a table or view is renamed (e.g., via 
hooks from systems like Trino), only the parent entity’s attributes are 
updated. However, dependent entities (such as columns) continue to retain the 
old {{{}qualifiedName{}}}, leading to inconsistency in metadata.

Since {{qualifiedName}} is a derived unique attribute that often embeds the 
parent entity name, any rename operation requires corresponding updates across 
all dependent entities to maintain correctness and lineage consistency
h2. *Problem Statement*
 * The issue is currently observed with specific hooks (e.g., Trino hook), 
where rename events do not result in updates to dependent entities
 * Rename operations update only the primary entity (table/view)
 * Dependent entities (e.g., columns) are not updated
 * Results in stale or inconsistent {{qualifiedName}} values
 * Impacts downstream use cases like lineage, discovery, and governance

h2. *Solution (High-Level)*

Enhance Atlas to internally handle rename propagation by:
 * Detecting rename operations at the entity level
 * Identifying all dependent entities where propagation is required (e.g., via 
relationships such as table → columns)
 * Updating dependent entities by recomputing and setting their unique 
attributes (e.g., {{{}qualifiedName{}}}) based on the renamed parent entity
 * Ensuring propagation logic is applied consistently across entity types that 
derive attributes from parent entities

This approach keeps the propagation logic within Atlas, avoiding dependency on 
external systems to provide enriched metadata.
h2. *Acceptance Criteria*
 # On rename of a table or view:
 ** Atlas detects the rename operation at the entity level
 # Dependent entities are identified:
 ** All related entities (e.g., columns) linked via relationships are discovered
 # Rename propagation is applied:
 ** Dependent entities have their {{qualifiedName}} (or other derived unique 
attributes) updated to reflect the new parent name
 # Consistency is maintained:
 ** No stale references to old names remain in dependent entities
 # No regression:
 ** Existing entity update and relationship handling flows remain unaffected
 # Test coverage:
 ** Unit/integration tests validate rename propagation across entity hierarchy
 ** Verified for table and view rename scenarios

  was:
h2. *Background*

In Apache Atlas, when an entity such as a table or view is renamed (e.g., via 
hooks from systems like Trino), only the parent entity’s attributes are 
updated. However, dependent entities (such as columns) continue to retain the 
old {{{}qualifiedName{}}}, leading to inconsistency in metadata.

Since {{qualifiedName}} is a derived unique attribute that often embeds the 
parent entity name, any rename operation requires corresponding updates across 
all dependent entities to maintain correctness and lineage consistency
h2. *Problem Statement*
 * The issue is currently observed with specific hooks (e.g., Trino hook), 
where rename events do not result in updates to dependent entities
 * Rename operations update only the primary entity (table/view)
 * Dependent entities (e.g., columns) are not updated
 * Results in stale or inconsistent {{qualifiedName}} values
 * Impacts downstream use cases like lineage, discovery, and governance

h2. *Proposed Solution (High-Level)*

Enhance Atlas to internally handle rename propagation by:
 * Detecting rename operations at the entity level
 * Identifying all dependent entities where propagation is required (e.g., via 
relationships such as table → columns)
 * Updating dependent entities by recomputing and setting their unique 
attributes (e.g., {{{}qualifiedName{}}}) based on the renamed parent entity
 * Ensuring propagation logic is applied consistently across entity types that 
derive attributes from parent entities

This approach keeps the propagation logic within Atlas, avoiding dependency on 
external systems to provide enriched metadata.
h2. *Acceptance Criteria*
 # On rename of a table or view:
 ** Atlas detects the rename operation at the entity level
 # Dependent entities are identified:
 ** All related entities (e.g., columns) linked via relationships are discovered
 # Rename propagation is applied:
 ** Dependent entities have their {{qualifiedName}} (or other derived unique 
attributes) updated to reflect the new parent name
 # Consistency is maintained:
 ** No stale references to old names remain in dependent entities
 # No regression:
 ** Existing entity update and relationship handling flows remain unaffected
 # Test coverage:
 ** Unit/integration tests validate rename propagation across entity hierarchy
 ** Verified for table and view rename scenarios


> Implement rename propagation to update dependent entities's unique attributes 
> on entity rename
> ----------------------------------------------------------------------------------------------
>
>                 Key: ATLAS-5279
>                 URL: https://issues.apache.org/jira/browse/ATLAS-5279
>             Project: Atlas
>          Issue Type: Improvement
>          Components:  atlas-core
>            Reporter: sanket bhor
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> h2. *Background*
> In Apache Atlas, when an entity such as a table or view is renamed (e.g., via 
> hooks from systems like Trino), only the parent entity’s attributes are 
> updated. However, dependent entities (such as columns) continue to retain the 
> old {{{}qualifiedName{}}}, leading to inconsistency in metadata.
> Since {{qualifiedName}} is a derived unique attribute that often embeds the 
> parent entity name, any rename operation requires corresponding updates 
> across all dependent entities to maintain correctness and lineage consistency
> h2. *Problem Statement*
>  * The issue is currently observed with specific hooks (e.g., Trino hook), 
> where rename events do not result in updates to dependent entities
>  * Rename operations update only the primary entity (table/view)
>  * Dependent entities (e.g., columns) are not updated
>  * Results in stale or inconsistent {{qualifiedName}} values
>  * Impacts downstream use cases like lineage, discovery, and governance
> h2. *Solution (High-Level)*
> Enhance Atlas to internally handle rename propagation by:
>  * Detecting rename operations at the entity level
>  * Identifying all dependent entities where propagation is required (e.g., 
> via relationships such as table → columns)
>  * Updating dependent entities by recomputing and setting their unique 
> attributes (e.g., {{{}qualifiedName{}}}) based on the renamed parent entity
>  * Ensuring propagation logic is applied consistently across entity types 
> that derive attributes from parent entities
> This approach keeps the propagation logic within Atlas, avoiding dependency 
> on external systems to provide enriched metadata.
> h2. *Acceptance Criteria*
>  # On rename of a table or view:
>  ** Atlas detects the rename operation at the entity level
>  # Dependent entities are identified:
>  ** All related entities (e.g., columns) linked via relationships are 
> discovered
>  # Rename propagation is applied:
>  ** Dependent entities have their {{qualifiedName}} (or other derived unique 
> attributes) updated to reflect the new parent name
>  # Consistency is maintained:
>  ** No stale references to old names remain in dependent entities
>  # No regression:
>  ** Existing entity update and relationship handling flows remain unaffected
>  # Test coverage:
>  ** Unit/integration tests validate rename propagation across entity hierarchy
>  ** Verified for table and view rename scenarios



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

Reply via email to