You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@polaris.apache.org by Ruobing Wang <ru...@gmail.com> on 2026/10/20 22:54:39 UTC

[DISCUSS] Generic Table Location Validation - Proposed Implementation Plan

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

Re: [DISCUSS] Generic Table Location Validation - Proposed Implementation Plan

Posted by Yufei Gu <fl...@gmail.com>.
Hi Robin,

Thanks for taking this on. This is a much-needed feature for the
generic table, and the proposed plan looks great. It aligns well with
the community(e.g. Dmitri and me) suggestion to perform the location
overlap check before adding credential vending.

I look forward to reviewing your PRs.

Best,
Yufei


On Tue, Oct 20, 2026 at 3:54 PM Ruobing Wang <ru...@gmail.com> wrote:
>
> 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