Hi all,

On the table-metadata cache PR [1], review asked that we stop building
server FileIO from catalog table-default.* before that cache lands. I'm
taking that cleanup and wanted list input before opening the PR.

Where things are on today:

- [2] stopped using caller metadata.properties() for server FileIO
  (CVE-2026-97395). Commit / refresh / register still pass catalog
  table-default.* into DefaultFileIOFactory.
- Merge order is table-default.* first, then AccessConfig on top.
- When AccessConfig is empty (SKIP_CREDENTIAL_SUBSCOPING_INDIRECTION),
  MinIO endpoint / static keys often come from table-default.s3.*
  (S3Mock). getting-started already puts the endpoint on storage config.
- [3] would seed purge from that same table-default.* map when
  AccessConfig is thin.

Proposal: server FileIO from AccessConfig / storage config only. Move
anything that today sits on table-default.s3.* for server IO onto storage
config / AccessConfig. Own PR for that, then [1] can move without baking
table-default into the cache key. [3] can reshape or fold after.

(Cache / endpoint immutability is on Yufei's thread [4] - this one is
just FileIO construction.)

Is anyone relying on table-default.* for server FileIO in a way this
would need a migration note for? For SKIP_CREDENTIAL / non-vending
setups, does AccessConfig (storage config + local credentials) look
like the right replacement?

Thanks
*Vignesh*

[1] https://github.com/apache/polaris/pull/5328
[2] https://github.com/apache/polaris/pull/5634
[3] https://github.com/apache/polaris/pull/5647
[4] https://lists.apache.org/thread.html/z9cgfj77s829npm51t0vcc32rclrz9mh

Reply via email to