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

   ### What changes were proposed in this pull request?
   
   - Prevent schema, table, and view imports from overwriting retained entity 
identifiers.
   - Return an explicit error requiring manual cleanup when an identifier 
conflicts with retained metadata.
   - Atomically restore soft-deleted Kafka topic metadata during catalog 
re-registration while rejecting active identifier conflicts.
   - Normalize schema, table, and view names for direct Hive-backed Iceberg 
catalogs.
   - Add regression tests for retained identifiers, Kafka re-registration, and 
Hive case-insensitive names.
   
   ### Why are the changes needed?
   
   External identifiers may be reused after catalog re-registration or 
out-of-band metadata changes. Overwriting the retained entity may incorrectly 
associate old governance metadata with a different entity.
   
   Kafka topic UUIDs cannot be removed from the backend, so a soft-deleted 
topic row must be restored safely instead.
   
   Fix: #13770
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes.
   
   Schema, table, and view imports now report a clear identifier conflict and 
require users to clean up retained metadata manually. Kafka catalog 
re-registration can safely reload existing topics whose metadata was 
soft-deleted.
   
   ### How was this patch tested?
   
   - Ran focused core dispatcher, metadata service, and SQL provider tests.
   - Ran Iceberg catalog capability tests.
   - Ran Hive identifier cleanup integration tests.
   - Ran Kafka catalog re-registration integration test.
   - Ran Spark 3.5 direct Hive case-insensitive table-name integration test.
   - Ran `./gradlew spotlessApply`.
   


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