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

   ### What changes were proposed in this pull request?
   
   - Limit table and top-level column names to 128 characters.
   - Limit top-level column comments to 4096 characters.
   - Validate Gravitino table create and alter requests before catalog changes.
   - Validate Iceberg REST create and update requests before catalog changes.
   - Validate registered Iceberg table schemas before importing them into 
Gravitino metadata.
   
   ### Why are the changes needed?
   
   The relational entity store limits table and column names to 128 characters 
and column comments to 4096 characters, but these constraints were not enforced 
consistently in the logic layer.
   
   Oversized values could reach the external catalog before failing while 
writing Gravitino metadata, resulting in database-specific errors and 
inconsistent metadata.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes. Oversized table names, top-level column names, and top-level column 
comments are rejected with clear HTTP 400 errors.
   
   Nested Iceberg fields are not restricted by the top-level column metadata 
limits.
   
   ### How was this patch tested?
   
   - `./gradlew :core:test --tests 
org.apache.gravitino.meta.TestEntityFieldLimits --tests 
org.apache.gravitino.catalog.TestTableOperationDispatcher`
   - `./gradlew :iceberg:iceberg-rest-server:test --tests 
org.apache.gravitino.iceberg.service.dispatcher.TestIcebergTableOperationExecutor
 --tests 
org.apache.gravitino.iceberg.service.dispatcher.TestIcebergNamespaceOperationExecutor`
   - `./gradlew :core:spotlessApply :iceberg:iceberg-rest-server: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