Skip to content

Refactor StorageTypeFileIO discriminator to support S3 Tables without opt-out #4486

@aritragster

Description

@aritragster

Is your feature request related to a problem? Please describe.

Description

PR #4052 adds S3 Tables support with validateAllowedStorageType=false as a workaround because both S3 and S3 Tables resolve to S3FileIO, making
StorageTypeFileIO unable to discriminate between them based on FileIO class alone.

Problem

The current discriminator assumes a 1:1 mapping between storage type and FileIO implementation. S3 Tables breaks this assumption since it uses the same
S3FileIO as standard S3 but requires different credential vending logic (different IAM actions, different ARN format).

Describe the solution you'd like

Proposed Fix

Refactor the discriminator to use a richer signal than FileIO class — e.g., the signingName from the catalog config, the ARN prefix
(arn:aws:s3tables), or a dedicated storage type field on the catalog entity.

Context

Follow-up from review feedback on #4052 by @flyingImer. The current opt-out is functional but circumvents the validation contract rather than fixing
it.

Describe alternatives you've considered

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions