yuqi1129 opened a new pull request, #14528:
URL: https://github.com/apache/gravitino/pull/14528

   ### What changes were proposed in this pull request?
   
   Treat source schema identifiers as untrusted. Refuse a copied identifier 
while its original source schema exists; use a guarded store update only for a 
confirmed external rename. Fresh imports use no-overwrite insertion. 
Parse/remove the final generated marker so marker-like user comments do not 
override identity.
   
   ### Why are the changes needed?
   
   Importing a copied comment must not move the original schema entity and its 
grants, owner or tags.
   
   Fixes #14524
   
   Enterprise tracking: 
https://github.com/datastrato/gravitino-enterprise/issues/3123.
   
   ### Does this PR introduce _any_ user-facing change?
   
   A conflicting copy is rejected instead of taking over existing metadata. To 
import it independently, first remove its copied source marker. Automatic 
independent copy import is not implemented. Genuine external renames retain 
their identifier after the old source name is confirmed absent. Cold imports 
carrying a marker scan schemas in the current namespace; no new storage schema 
or migration.
   
   ### How was this patch tested?
   
   - Full coreUnitTest: 2,692 cases, 2 skipped, no failures.
   - Duplicate-identifier no-overwrite contract on both H2 and PostgreSQL 
storage: 1 case each, no failures.
   - Dispatcher regressions cover copied-marker refusal, deleting the copy 
without modifying the original, and genuine external rename; marker parsing 
regressions.
   - Mutation/restored-green regression and exact-head independent cumulative 
review. No deployed multi-node/REST end-to-end claim.
   


-- 
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