mchades opened a new pull request, #14120:
URL: https://github.com/apache/gravitino/pull/14120
### What changes were proposed in this pull request?
Reuse the single-fileset deletion logic before deleting schema metadata in
`FilesetCatalogOperations.dropSchema`. Stop at the first storage cleanup
failure
and clean each successfully deleted fileset's write-through secrets from its
deleted snapshot.
### Why are the changes needed?
Catalog and metalake force-drop reach the catalog's schema operations
directly.
Previously, this path deleted metadata first and swallowed fileset storage
cleanup failures, leaving data without metadata for retry.
Fix: #14119
### Does this PR introduce _any_ user-facing change?
Fileset schema cascades, including catalog and metalake force-drop, fail when
managed-fileset storage cleanup fails and retain the failed fileset and
parent
metadata. Earlier successful deletions remain committed. EXTERNAL fileset
data
and data in catalogs with filesystem operations disabled remain untouched.
No API or configuration changes.
### How was this patch tested?
- Both cleanup-failure regression cases failed on the original
implementation.
- `./gradlew :catalogs:catalog-fileset:test -PskipITs`: 256 tests passed,
covering
cleanup returning false or throwing, partial progress, retry, secret
cleanup,
EXTERNAL filesets, and disabled filesystem operations.
- `./gradlew :core:coreUnitTest --tests '*TestCatalogManager' --tests
'*TestMetalakeManager' --tests '*TestSchemaOperationDispatcher' --tests
'*TestFilesetOperationDispatcher' -PskipITs`: 84 tests passed, including
parent
metadata retention when force-drop fails.
- `./gradlew spotlessApply` and `git diff --check` passed.
- 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]