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

Krishna Chaitanya Muttevi updated RANGER-5623:
----------------------------------------------
    Description: 
When updating an existing user-group relationship via the {{PUT 
/service/xusers/groupusers}} API, the backend processes the change 
successfully. The UI's "Users" tab correctly reflects the updated group 
association for the user. However, the "Groups" tab fails to update and 
displays stale data, keeping the user listed under the old group and omitting 
them from the new group.

This indicates a localized state management or caching issue specifically 
within the "Groups" tab component of the web interface.
h3. *Steps to Reproduce:*
 # *Create a new user-group relation (User 17 to 'opensearch'):*

 
 {{curl -iu admin:***** -X POST 
'http://localhost:6080/service/xusers/groupusers' \ -H 'accept: 
application/json' -H 'Content-Type: application/json' \ -d '

{"name":"opensearch", "userId": 17}

' }}
_Backend returns 200 OK, creating relation_ {{{}id: 52{}}}{_}.{_}
 # *Update the existing relation to a different group (User 17 to 'ranger'):*

 
 {{curl -iu admin:***** -X PUT 
'http://localhost:6080/service/xusers/groupusers' \ -H 'Content-Type: 
application/json' \ -d '\{"id": 52, "name": "ranger", "userId": 17}'}}
_Backend returns 200 OK, confirming the update._
 # *Verify backend state via GET:*

 
 {{curl -iu admin:***** -X GET 
'http://localhost:6080/service/xusers/groupusers/52'}}
_Backend correctly returns_

{"id":52, ... "name":"ranger","userId":17}
 # *Observe the UI behavior:*

 * Navigate to {*}Settings > Users/Groups/Roles{*}.

 * Check the *Users* tab: User 17 is correctly shown under the {{ranger}} group.

 * Check the *Groups* tab: Inspect the user lists for both the {{opensearch}} 
and {{ranger}} groups.

h3. *Expected Behavior:*

Both the "Users" tab and the "Groups" tab should remain synchronized with the 
backend. In the "Groups" tab, User 17 should be removed from the {{opensearch}} 
user list and added to the {{ranger}} user list immediately.
h3. *Actual Behavior:*

The "Users" tab reflects the correct backend state, but the "Groups" tab does 
not. The "Groups" tab UI retains stale data, ignoring the {{PUT}} mutation 
until a hard refresh or application cache invalidation occurs.

Here the ranger group’s user list not updated:

 

But om’s groupList is updated correctly.

 

  was:
When updating an existing user-group relationship via the {{PUT 
/service/xusers/groupusers}} API, the backend processes the change 
successfully. The UI's "Users" tab correctly reflects the updated group 
association for the user. However, the "Groups" tab fails to update and 
displays stale data, keeping the user listed under the old group and omitting 
them from the new group.

This indicates a localized state management or caching issue specifically 
within the "Groups" tab component of the web interface.
h3. *Steps to Reproduce:*
 # *Create a new user-group relation (User 17 to 'opensearch'):*

 
 \{{curl -iu admin:***** -X POST 
'http://localhost:6080/service/xusers/groupusers' \ -H 'accept: 
application/json' -H 'Content-Type: application/json' \ -d 
'{"name":"opensearch", "userId": 17}' }}
_Backend returns 200 OK, creating relation_ {{{}id: 52{}}}{_}.{_}
 # *Update the existing relation to a different group (User 17 to 'ranger'):*

 
 {{curl -iu admin:***** -X PUT 
'http://localhost:6080/service/xusers/groupusers' \ -H 'Content-Type: 
application/json' \ -d '\{"id": 52, "name": "ranger", "userId": 17}'}}
_Backend returns 200 OK, confirming the update._
 # *Verify backend state via GET:*

 
 {{curl -iu admin:***** -X GET 
'http://localhost:6080/service/xusers/groupusers/52'}}
_Backend correctly returns_

{"id":52, ... "name":"ranger","userId":17}


 # *Observe the UI behavior:*

 * Navigate to {*}Settings > Users/Groups/Roles{*}.

 * Check the *Users* tab: User 17 is correctly shown under the {{ranger}} group.

 * Check the *Groups* tab: Inspect the user lists for both the {{opensearch}} 
and {{ranger}} groups.

h3. *Expected Behavior:*

Both the "Users" tab and the "Groups" tab should remain synchronized with the 
backend. In the "Groups" tab, User 17 should be removed from the {{opensearch}} 
user list and added to the {{ranger}} user list immediately.
h3. *Actual Behavior:*

The "Users" tab reflects the correct backend state, but the "Groups" tab does 
not. The "Groups" tab UI retains stale data, ignoring the {{PUT}} mutation 
until a hard refresh or application cache invalidation occurs.

Here the ranger group’s user list not updated:

!https://media-cdn.atlassian.com/file/09ff5aaf-d3a1-4be5-a747-4d3d9f2be930/image/cdn?allowAnimated=true&client=b47d7f8e-a692-4580-bc50-5af50f9cf45a&collection=&height=125&max-age=2592000&mode=full-fit&source=mediaCard&token=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJiNDdkN2Y4ZS1hNjkyLTQ1ODAtYmM1MC01YWY1MGY5Y2Y0NWEiLCJhY2Nlc3MiOnsidXJuOmZpbGVzdG9yZTpmaWxlOjA5ZmY1YWFmLWQzYTEtNGJlNS1hNzQ3LTRkM2Q5ZjJiZTkzMCI6WyJyZWFkIl0sInVybjpmaWxlc3RvcmU6ZmlsZTo1ZGFhN2I0Mi01MjQ4LTRhMWQtYTkzZC1iMjUyZDhhYzVkOGYiOlsicmVhZCJdLCJ1cm46ZmlsZXN0b3JlOmZpbGU6MzM2NjYzMDItOWI2Ni00YjdkLTgwMGMtOWQ1YmM1YTJiMGEzIjpbInJlYWQiXSwidXJuOmZpbGVzdG9yZTpmaWxlOmM1ODgzZjc4LTU4MDgtNDk0YS05OWI3LTAyZjU1NzJkZjMyNCI6WyJyZWFkIl19LCJleHAiOjE3ODAzMDUzMTgsIm5iZiI6MTc4MDMwNDQxOCwiYWFJZCI6IjcxMjAyMDpkZTVlNDE1Mi1mYmU2LTRkZWMtYmI4Yy1lNjhmZmMyMzIwZTEiLCJodHRwczovL2lkLmF0bGFzc2lhbi5jb20vYXBwQWNjcmVkaXRlZCI6ZmFsc2V9.i0KbzpEqJNL2zC3Q9mUyh771l6BlLHZ312P6c14ywvk&width=687#media-blob-url=true&id=09ff5aaf-d3a1-4be5-a747-4d3d9f2be930&clientId=b47d7f8e-a692-4580-bc50-5af50f9cf45a&contextId=&collection=!

But om’s groupList is updated correctly.

!https://media-cdn.atlassian.com/file/33666302-9b66-4b7d-800c-9d5bc5a2b0a3/image/cdn?allowAnimated=true&client=b47d7f8e-a692-4580-bc50-5af50f9cf45a&collection=&height=125&max-age=2592000&mode=full-fit&source=mediaCard&token=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJiNDdkN2Y4ZS1hNjkyLTQ1ODAtYmM1MC01YWY1MGY5Y2Y0NWEiLCJhY2Nlc3MiOnsidXJuOmZpbGVzdG9yZTpmaWxlOjA5ZmY1YWFmLWQzYTEtNGJlNS1hNzQ3LTRkM2Q5ZjJiZTkzMCI6WyJyZWFkIl0sInVybjpmaWxlc3RvcmU6ZmlsZTo1ZGFhN2I0Mi01MjQ4LTRhMWQtYTkzZC1iMjUyZDhhYzVkOGYiOlsicmVhZCJdLCJ1cm46ZmlsZXN0b3JlOmZpbGU6MzM2NjYzMDItOWI2Ni00YjdkLTgwMGMtOWQ1YmM1YTJiMGEzIjpbInJlYWQiXSwidXJuOmZpbGVzdG9yZTpmaWxlOmM1ODgzZjc4LTU4MDgtNDk0YS05OWI3LTAyZjU1NzJkZjMyNCI6WyJyZWFkIl19LCJleHAiOjE3ODAzMDUzMTgsIm5iZiI6MTc4MDMwNDQxOCwiYWFJZCI6IjcxMjAyMDpkZTVlNDE1Mi1mYmU2LTRkZWMtYmI4Yy1lNjhmZmMyMzIwZTEiLCJodHRwczovL2lkLmF0bGFzc2lhbi5jb20vYXBwQWNjcmVkaXRlZCI6ZmFsc2V9.i0KbzpEqJNL2zC3Q9mUyh771l6BlLHZ312P6c14ywvk&width=687#media-blob-url=true&id=33666302-9b66-4b7d-800c-9d5bc5a2b0a3&clientId=b47d7f8e-a692-4580-bc50-5af50f9cf45a&contextId=&collection=!


> UI Inconsistency: Groups tab userlist fails to reflect updated user-group 
> mapping after successful PUT /xusers/groupusers request
> ---------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: RANGER-5623
>                 URL: https://issues.apache.org/jira/browse/RANGER-5623
>             Project: Ranger
>          Issue Type: Bug
>          Components: Ranger
>    Affects Versions: 3.0.0
>            Reporter: Krishna Chaitanya Muttevi
>            Priority: Major
>
> When updating an existing user-group relationship via the {{PUT 
> /service/xusers/groupusers}} API, the backend processes the change 
> successfully. The UI's "Users" tab correctly reflects the updated group 
> association for the user. However, the "Groups" tab fails to update and 
> displays stale data, keeping the user listed under the old group and omitting 
> them from the new group.
> This indicates a localized state management or caching issue specifically 
> within the "Groups" tab component of the web interface.
> h3. *Steps to Reproduce:*
>  # *Create a new user-group relation (User 17 to 'opensearch'):*
>  
>  {{curl -iu admin:***** -X POST 
> 'http://localhost:6080/service/xusers/groupusers' \ -H 'accept: 
> application/json' -H 'Content-Type: application/json' \ -d '
> {"name":"opensearch", "userId": 17}
> ' }}
> _Backend returns 200 OK, creating relation_ {{{}id: 52{}}}{_}.{_}
>  # *Update the existing relation to a different group (User 17 to 'ranger'):*
>  
>  {{curl -iu admin:***** -X PUT 
> 'http://localhost:6080/service/xusers/groupusers' \ -H 'Content-Type: 
> application/json' \ -d '\{"id": 52, "name": "ranger", "userId": 17}'}}
> _Backend returns 200 OK, confirming the update._
>  # *Verify backend state via GET:*
>  
>  {{curl -iu admin:***** -X GET 
> 'http://localhost:6080/service/xusers/groupusers/52'}}
> _Backend correctly returns_
> {"id":52, ... "name":"ranger","userId":17}
>  # *Observe the UI behavior:*
>  * Navigate to {*}Settings > Users/Groups/Roles{*}.
>  * Check the *Users* tab: User 17 is correctly shown under the {{ranger}} 
> group.
>  * Check the *Groups* tab: Inspect the user lists for both the {{opensearch}} 
> and {{ranger}} groups.
> h3. *Expected Behavior:*
> Both the "Users" tab and the "Groups" tab should remain synchronized with the 
> backend. In the "Groups" tab, User 17 should be removed from the 
> {{opensearch}} user list and added to the {{ranger}} user list immediately.
> h3. *Actual Behavior:*
> The "Users" tab reflects the correct backend state, but the "Groups" tab does 
> not. The "Groups" tab UI retains stale data, ignoring the {{PUT}} mutation 
> until a hard refresh or application cache invalidation occurs.
> Here the ranger group’s user list not updated:
>  
> But om’s groupList is updated correctly.
>  



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

Reply via email to