adam-christian-software opened a new pull request, #4926:
URL: https://github.com/apache/polaris/pull/4926

   <!--
   ๐Ÿ“ Describe what changes you're proposing, especially breaking or user-facing 
changes. 
   ๐Ÿ“– See https://github.com/apache/polaris/blob/main/CONTRIBUTING.md for more.
   -->
   
   ## Summary
   
   This adds a Polaris-specific catalog configuration endpoint at 
`/api/catalog/polaris/v1/config` that returns the same Iceberg `ConfigResponse` 
shape as the existing `/api/catalog/v1/config` route.
   
   The implementation follows the approach discussed on the dev list: 
https://lists.apache.org/thread/bov6nhryqjmtrxw5nxhss0o0c4ntn6o0
   
   - Extracts catalog config response construction out of 
`IcebergCatalogHandler` into `CatalogConfigHandler`.
   - Keeps the existing Iceberg config route working by delegating it to the 
shared handler.
   - Adds a generated Polaris config API route from the Polaris catalog OpenAPI 
spec.
   - Adds CDI endpoint contributors so feature modules can advertise supported 
config endpoints directly; generic table and policy endpoints now contribute 
through that mechanism.
   - Updates `CHANGELOG.md` for the new user-facing endpoint.
   
   ## Behavior
   
   Existing Iceberg REST clients can continue calling `/api/catalog/v1/config`. 
Polaris-aware clients can migrate to `/api/catalog/polaris/v1/config` to 
discover Polaris-specific capabilities without depending on the Iceberg 
configuration route long term.
   
   The new route still requires the `warehouse` query parameter at runtime, 
matching the existing adapter behavior.
   
   ## Verification
   
   - [x] `./gradlew format compileAll`
   - [x] `./gradlew :polaris-api-catalog-service:compileJava`
   - [x] `./gradlew :polaris-runtime-service:compileJava 
:polaris-runtime-service:compileTestJava :polaris-runtime-service:test --tests 
"org.apache.polaris.service.catalog.iceberg.GetConfigTest"`
   - [x] `./gradlew :polaris-api-catalog-service:check` completed during the 
combined module check
   - [ ] `./gradlew :polaris-api-catalog-service:check 
:polaris-runtime-service:check` failed in `:polaris-runtime-service:intTest` 
with `RestCatalogKeycloakFileIT.initializationError`: Quarkus failed to resolve 
`PolarisApiEndpoints` because `ValueRegistry` was null; cleanup also suppressed 
a null `PolarisClient` close. The failure is in the Keycloak-backed 
integration-test setup and not in the changed config endpoint test coverage.
   
   ## Checklist
   
   - [x] ๐Ÿ›ก๏ธ Don't disclose security issues! (contact [email protected])
   - [x] ๐Ÿ”— Clearly explained why the changes are needed, or linked related 
issues: Related to 
https://lists.apache.org/thread/bov6nhryqjmtrxw5nxhss0o0c4ntn6o0
   - [x] ๐Ÿงช Added/updated tests with good coverage, or manually tested (and 
explained how)
   - [x] ๐Ÿ’ก Added comments for complex logic
   - [x] ๐Ÿงพ Updated `CHANGELOG.md` (if needed)
   - [x] ๐Ÿ“š Updated documentation in `site/content/in-dev/unreleased` (if 
needed; OpenAPI spec and generated bundle were updated for this API addition)
   


-- 
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