Kaustav-Sarkar opened a new pull request, #4466:
URL: https://github.com/apache/polaris/pull/4466
## Summary
Makes `storageConfigInfo` optional for external catalogs. External
catalogs may delegate storage management entirely to an external system, making
`storageConfigInfo` unnecessary at
creation time. Internal catalogs continue to require it.
### Changes
- Removed `storageConfigInfo` from base `Catalog` schema's `required` list
in the OpenAPI spec
- Added `storageConfigInfo` as required on `PolarisCatalog` (INTERNAL
type) only
- Added explicit server-side validation in `PolarisServiceImpl` rejecting
INTERNAL catalogs without storage config
- Fixed null-safety in `getCatalogLocations` and
`catalogOverlapsWithExistingCatalog` for catalogs without storage config
- Added unit and integration tests for both the happy path (external
without storage) and the rejection path (internal without storage)
## Test plan
- [x] Unit test:
`ManagementServiceTest.testCreateExternalCatalogWithoutStorageConfig` โ
verifies external catalog creation succeeds and round-trips correctly
- [x] Unit test:
`ManagementServiceTest.testCreateInternalCatalogWithoutStorageConfigFails` โ
verifies internal catalog rejection with correct error message
- [x] Unit test:
`CatalogSerializationTest.testExternalCatalogWithoutStorageConfig` โ verifies
JSON serialization omits null `storageConfigInfo`
- [x] Integration test:
`PolarisManagementServiceIntegrationTest.testCreateExternalCatalogWithoutStorageConfig`
โ end-to-end REST validation
## Checklist
- [x] ๐ก๏ธ Don't disclose security issues! (contact [email protected])
- [x] ๐ Clearly explained why the changes are needed, or linked related
issues: Fixes #2356
- [x] ๐งช Added/updated tests with good coverage, or manually tested (and
explained how)
- [ ] ๐ก Added comments for complex logic (N/A)
- [x] ๐งพ Updated `CHANGELOG.md` (if needed)
- [ ] ๐ Updated documentation in `site/content/in-dev/unreleased` (not
required โ no existing docs invalidated)
--
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]