Hi

It looks good to me.

Thanks,
Regards
JB

On Wed, Jul 8, 2026 at 1:45 AM Yufei Gu <[email protected]> wrote:

> Hi folks,
>
> While reviewing the PR https://github.com/apache/polaris/pull/4966, I'm
> thinking maybe we could simplify the location-related flags a bit.
>
> Today we have both ALLOW_EXTERNAL_TABLE_LOCATION and
> ALLOW_EXTERNAL_METADATA_FILE_LOCATION. Their descriptions are similar but
> serve different purposes. From reading the code,
> ALLOW_EXTERNAL_TABLE_LOCATION mostly acts like a metadata-location escape
> hatch: it relaxes the check that metadata files must live under the table
> location. That overlaps heavily with ALLOW_EXTERNAL_METADATA_FILE_LOCATION,
> and the name is easy to confuse with ALLOW_UNSTRUCTURED_TABLE_LOCATION.
>
> I think the clearer model is:
>
>    - ALLOW_UNSTRUCTURED_TABLE_LOCATION: table/view locations may be outside
>    the structured namespace layout.
>    - ALLOW_EXTERNAL_METADATA_FILE_LOCATION: metadata files may be outside
>    the table location.
>
> Proposal: deprecate ALLOW_EXTERNAL_TABLE_LOCATION, keep it as a
> backward-compatible alias for the metadata-location behavior, and update
> docs/tests accordingly.
>
> There’s also one related doc mismatch:
> DEFAULT_LOCATION_OBJECT_STORAGE_PREFIX_ENABLED says it requires
> ALLOW_EXTERNAL_TABLE_LOCATION, but the implementation checks
> ALLOW_UNSTRUCTURED_TABLE_LOCATION. [1]
>
> Thoughts?
>
> 1.
>
> https://github.com/apache/polaris/blob/1ef1d722521e460381d9cc8e8461619727df4c18/runtime/service/src/main/java/org/apache/polaris/service/catalog/iceberg/LocalIcebergCatalog.java#L1148
>
>
> Yufei
>

Reply via email to