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]
