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

   ### What changes were proposed in this pull request?
   
   Add `FilesetChange.updateType`, Python `update_type`, and REST `updateType` 
support for changing existing filesets between `MANAGED` and `EXTERNAL`. 
Conversion preserves the fileset ID, locations, and files. Update the OpenAPI 
specification and usage documentation.
   
   ### Why are the changes needed?
   
   Users need to change an existing fileset's lifecycle ownership without 
dropping and recreating it. Converting to external allows its registration to 
be dropped while retaining the data; converting to managed explicitly accepts 
deletion on drop.
   
   Related: #12550 and #13506.
   
   Fix: #14123
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes. A new fileset alter operation in Java, Python, and REST. Conversion 
does not move, create, or delete files; subsequent direct and schema-cascade 
drops use the updated type.
   
   ### How was this patch tested?
   
   - 280 targeted Java tests passed: `TestFilesetChange`, 
`TestFilesetUpdatesRequest`, `TestFilesetCatalog`, `TestFilesetOperations`, and 
`TestFilesetCatalogOperations` with `-PskipITs`.
   - 3 Python tests passed: `python -m unittest 
tests.unittests.test_fileset_type_change 
tests.unittests.test_fileset_catalog_api`.
   - `./gradlew :docs:build`, Spotless, Black, Pylint, and `git diff --check` 
passed.
   - Added coverage for both directions, preserved identity and data, multiple 
locations, repeated conversion, batched changes, direct drop, and schema 
cascade.
   
   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