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]

Reply via email to