iceberg-rust icon indicating copy to clipboard operation
iceberg-rust copied to clipboard

feat(io): Make `Storage` a trait

Open CTTY opened this issue 2 months ago • 3 comments

Which issue does this PR close?

  • Closes #1314

What changes are included in this PR?

Are these changes tested?

Added some tests for the new storage builder and registry, but mostly relying on the existing tests

CTTY avatar Oct 17 '25 23:10 CTTY

Hi, @liurenjie1024 and @CTTY, I have thinked about this again. I think we can split the concept around fileio and fileio-provider (or just using the words in this PR, Storage and Fileio).

As discussed in https://github.com/apache/iceberg-rust/issues/1797, sometimes people don't care about FileIO (the thing in java) at all. They will initiate, build and manage their own IO abstraction and only want to be used as Storage in the iceberg-rust.

So, I think we should make FileIO optional in the future and only depends on Storage. However it can be tricky since we do need the power to build a storage from s3://bucket/name. We can discuss them face to face and come up with a proposal.

Xuanwo avatar Nov 03 '25 10:11 Xuanwo

Hi, @liurenjie1024 and @CTTY, I have thinked about this again. I think we can split the concept around fileio and fileio-provider (or just using the words in this PR, Storage and Fileio).

As discussed in #1797, sometimes people don't care about FileIO (the thing in java) at all. They will initiate, build and manage their own IO abstraction and only want to be used as Storage in the iceberg-rust.

So, I think we should make FileIO optional in the future and only depends on Storage. However it can be tricky since we do need the power to build a storage from s3://bucket/name. We can discuss them face to face and come up with a proposal.

I'm a little confused about your point, would you mind to write a more detailed proposal?

liurenjie1024 avatar Nov 03 '25 10:11 liurenjie1024

I'm a little confused about your point, would you mind to write a more detailed proposal?

Will do

Xuanwo avatar Nov 03 '25 13:11 Xuanwo