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

   ### What changes were proposed in this pull request?
   
   Validate fileset storage location names against the 256-character 
application limit using `EntityFieldLimits`. Check every key during entity 
validation and check resolved location names before the fileset catalog 
performs filesystem operations.
   
   Add boundary, Unicode, and catalog rejection tests, and preserve the storage 
rollback test's database-failure coverage.
   
   ### Why are the changes needed?
   
   Overlong location names currently reach the database and return a generic 
column-length error. Managed fileset directories can already have been created 
when that error occurs.
   
   Part of #13317, item 5: fileset storage location name validation.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes. Location names longer than 256 characters return an argument error 
naming the field and limit before directories are created.
   
   H2's existing 128-character column limit remains tracked in #13317, item 4; 
this PR does not change database schemas.
   
   ### How was this patch tested?
   
   - All five new regression cases fail before the fix: ASCII and Unicode 
entity boundaries, managed/external create, and inherited location names.
   - `./gradlew :core:coreUnitTest --tests 
org.apache.gravitino.meta.TestEntityFieldLimits`: 20 tests pass.
   - `./gradlew :core:coreH2Test --tests 
org.apache.gravitino.storage.relational.service.TestFilesetMetaService`: 22 
tests pass, including the database rollback regression.
   - `./gradlew :catalogs:catalog-fileset:check -PskipITs`: 304 tests pass.
   - Spotless and `git diff --check` pass.
   - MySQL/PostgreSQL and Docker integration tests were not run.
   


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