yuqi1129 opened a new issue, #13174:
URL: https://github.com/apache/gravitino/issues/13174

   ### Describe the subtask
   
   `TableHookDispatcher.dropTable`/`purgeTable` call 
`AuthorizationUtils.authorizationPluginRemovePrivileges` regardless of the 
boolean returned by the dispatcher. #12232 made the dispatcher keep the store 
registration when the external drop returns `false` (the table was renamed or 
dropped out of band), but the authorization plugin still removes the privileges 
of the entity that is alive under its new name. The same shape exists in the 
schema, fileset, topic, model and view hook dispatchers.
   
   Proposed change:
   - Skip the plugin call when the dispatcher returned `false`.
   - Carry the entity id (not only the name) in the plugin event so a delayed 
event cannot remove a newer object's privileges.
   - Test: rename × drop on two servers; Ranger-style plugin mock keeps the 
renamed entity's privileges.
   
   Design: implementation design Part 1 (F8) and Part 4 (S1). Gate G1/G4.
   
   ### Parent issue
   
   https://github.com/apache/gravitino/issues/10238


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to