Hi everyone,

I'm Robin, a relatively new contributor to Apache Polaris. I'm excited to
get more involved in the community and continue contributing!

I'd like to share a proposed implementation plan for* Generic Table
location validation *and gather feedback from the broader Polaris community.

Background and context:
This work builds on the original Generic Table Support proposal and Yun's
earlier implementation in PR #4237.
Original proposal (Issue #1048, including the design document):
https://github.com/apache/polaris/issues/1048
Previous implementation (PR #4237):
https://github.com/apache/polaris/pull/4237

Many thanks to Yun and everyone involved in the original design,
implementation, and discussions!

I'd like to approach the remaining work incrementally to keep each change
focused and easier to review.

Proposed implementation plan

Part 1 - Explicit base-location validation
- Validate non-null, non-empty base-location values against the catalog's
allowed locations and parent namespace rules, respecting the existing
configuration.
- Preserve current behavior for omitted, null, or empty locations, as well
as name conflicts.
- Keep location overlap checks out of scope for this initial change.
The implementation is available in PR #5748:
https://github.com/apache/polaris/pull/5748
Local validation has passed, including focused tests, format compileAll,
:polaris-runtime-service:check, and REST API checks. (I noticed we recently
onboard a bot for code review, I will start addressing those comments!)

Part 2 - Location overlap checks
- Address overlapping locations between Generic Tables.
- Address overlaps between Generic Tables and Iceberg tables.
- Respect the existing overlap configuration and optimized-check behavior.

Follow-up - Credential vending
- Explore Generic Table credential vending as a separate follow-up, subject
to further community discussion after the location-validation work.


I'd particularly appreciate feedback on:
1. Whether this incremental approach and the proposed scope boundaries make
sense.
2. Whether there are compatibility or configuration concerns that Part 1
should address.
3. Whether there are important concerns from the earlier PR discussions
that I should prioritize.

I really appreciate the guidance and patience from the community as I get
more familiar with the codebase.
I'm looking forward to learning from everyone and contributing more!

Thanks,
Robin

Reply via email to