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

Vyom Mani Tiwari commented on RANGER-5245:
------------------------------------------

Given the logic of the {{dedupTags}} method, where it always replaces the 
higher tag ID with the lower one if it exists in {{{}cachedTags{}}}, it's 
unlikely to enter a situation where there's a cycle in {{{}replacedIds{}}}.
 
The logic ensures that the {{replacedIds}} map will always point to a lower tag 
ID, which reduces the possibility of cycles. Since the replacement is always 
directed towards the lower ID, it's more like a directed acyclic graph (DAG) 
where each node (tag ID) points to a lower node.
 
Given this logic, it's reasonable to conclude that cycles in {{replacedIds}} 
are unlikely to occur. The method's design seems to prevent cycles by always 
favoring the lower tag ID.

> Investigate the potential  loop in dedupTags method
> ---------------------------------------------------
>
>                 Key: RANGER-5245
>                 URL: https://issues.apache.org/jira/browse/RANGER-5245
>             Project: Ranger
>          Issue Type: Bug
>          Components: Ranger
>    Affects Versions: 2.6.0
>            Reporter: Vyom Mani Tiwari
>            Assignee: Vyom Mani Tiwari
>            Priority: Major
>
> for (Long replacerTagId = replacedIds.get(tagId); replacerTagId != null; 
> replacerTagId = replacedIds.get(mappedTagId)) {
>     mappedTagId = replacerTagId;
> }
> Investigate if it possible for dedupTags to enter infinite loop.



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

Reply via email to