I don't think the testing should be a blocker of moving iceberg-datafusion out of iceberg-rust repo. From what I learn, most of the sqllogictests are in pr of modifying iceberg-datafusion integration, there are only few cases where we rely on sqllogictests to verify features.
> How would that sound for the `iceberg-rust` community to grant a couple of Apache DataFusion PMCs committer access to the repository, limited to the `iceberg-datafusion` crate via a CODEOWNERS file, so that they can help push reviews and PRs forward independently? I'm not sure if this is feasible, but moving the iceberg-datafusion crate to apache datafusion project sounds a more reasonable approach to me. It's still governed by Apache, and most of the code is related to DataFusion, so I think the DataFusion community is in a better position to define the vision and design for it. On Mon, Aug 31, 2026 at 10:45 PM Gabriel Musat <[email protected]> wrote: > Hi everyone, > > Based on these two facts: > - There's a current reviewer bandwidth problem that hurts development > velocity of the `iceberg-datafusion` crate currently hosted under > `apache/iceberg-rust`. > - There is value in maintaining the `iceberg-datafusion` crate inside > `apache/iceberg-rust` for testing, design and governance. > > How would that sound for the `iceberg-rust` community to grant a couple of > Apache DataFusion PMCs committer access to the repository, limited to the > `iceberg-datafusion` crate via a CODEOWNERS file, so that they can help > push reviews and PRs forward independently? > > Based on review history, I'd propose Matt Butrovich and Tim Saucer as two > good candidates, but this would be completely up to the `iceberg-rust` > community. > > On 2026/08/26 17:56:19 Shawn Chang wrote: > > Hi all, > > > > Summarizing the discussion so far, including a few points raised in > today’s > > community sync. > > > > There seems to be general agreement that the current DataFusion > integration > > has a velocity/reviewer bandwidth problem, and moving it to a separate > > repository could help DataFusion contributors iterate more independently. > > At the same time, several open questions remain: > > > > - > > > > Whether repo separation is the right solution, versus expanding > > DataFusion reviewer/committer participation in iceberg-rust. > > - > > > > Where the boundary should be between engine specific integration and > > Iceberg core functionality, and how to avoid duplicated or forked > Iceberg > > implementations. (how to avoid the case where Iceberg-datafusion > moving > > much faster than the core and eventually need a forked core API > > implementation) > > - > > > > How compatibility and end-to-end correctness testing should work > across > > repositories, since iceberg-rust still relies on DataFusion for > integration > > testing. > > - > > > > Where the integration should live and how to keep it under Apache > > governance while making it easy for both Iceberg and DataFusion > > contributors to maintain. > > > > So I think the main question is not only whether to move the code, but > how > > to improve development velocity without losing the close design, testing, > > and governance relationship between the engine integration and > iceberg-rust > > core. > > > > > > Best, > > > > Shawn > > > > On Mon, Aug 24, 2026 at 4:14 AM Manu Zhang <[email protected]> > wrote: > > > > > +1 moving the DataFusion integration and tests into a separate > > > apache-governed repository. Can we bring this discussion to the > Community > > > Sync[1] this week? > > > > > > 1. > > > > https://docs.google.com/document/d/1YuGhUdukLP5gGiqCbk0A5_Wifqe2CZWgOd3TbhY3UQg/edit?tab=t.0 > > > > > > On Mon, Aug 24, 2026 at 3:37 PM Renjie Liu <[email protected]> > > > wrote: > > > > > >> Hi, Matt: > > >> > > >> Thanks for raising this. > > >> > > >> 1) Apache governance: > > >> > > >> I would +1 for putting this in an apache repo, for example a sub repo > of > > >> datafusion project. Shawn has stated most of the reasons, so I don't > want > > >> to repeat it again. > > >> > > >> 2) Where do tests live/how tests should be maintained? > > >> > > >> Initially I was thinking about putting sqllogictest in iceberg-rust, > but > > >> after second thought I'm leaning towards to put it in the new repo > for two > > >> reasons: > > >> 1. It would be easier for developer of the datafusion-iceberg > integration > > >> to add tests > > >> 2. It would make the dependency graph and version release easier. > Though > > >> the dependency is on crate level rather than repo level, the > bi-direction > > >> dependency may make version management weird and difficult. > > >> > > >> The downside of this approach is that it's a little unfriendly for > > >> iceberg-rust developers, but I think it's less frequent for > iceberg-rust > > >> developers to add sqllogictests compared with datafusion-iceberg > developers. > > >> > > >> 3) Dropping DataFusion dependencies from pyiceberg-core binding > > >> > > >> I'm not quite familiar with this part, but it sounds reasonable to me. > > >> > > >> > > >> On Sat, Aug 22, 2026 at 6:50 AM Shawn Chang <[email protected]> > > >> wrote: > > >> > > >>> Hi Matt, > > >>> > > >>> Thanks for raising this! I generally agree that we can move the > > >>> datafusion > > >>> integration to a separate repo if that helps more DataFusion experts > to > > >>> work on the integrations > > >>> > > >>> On the three considerations: > > >>> 1) Apache governance: > > >>> I think this is my biggest concern so far. This could not only affect > > >>> contributors, but also whether the downstream users could continue > to use > > >>> the integration. > > >>> Even if the code remains Apache-licensed, governance, release of > > >>> artifacts, > > >>> and contribution policies can matter for adoption. > > >>> We should explore more about the option to keep it under an > > >>> Apache-governed > > >>> repository. > > >>> > > >>> 2) Where do tests live/how tests should be maintained? > > >>> > > >>> I think this is closely related to the governance question. To me, > the > > >>> broader question is: *how do we make it easy for people from both the > > >>> Iceberg Rust and DataFusion communities to maintain the integration?* > > >>> > > >>> If we move it to a non-Apache repository, I worry that it could > > >>> eventually > > >>> look somewhat like the current Iceberg Java <> Trino integration: the > > >>> integration primarily lives on the Trino side and is therefore mostly > > >>> maintained by people who are already deeply involved in Trino. > > >>> > > >>> There is an important difference here, though. For Iceberg Java, > Spark is > > >>> arguably the primary engine integration and has a large Iceberg > > >>> contributor > > >>> base around it, so having the Trino integration maintained more > > >>> independently is relatively natural. In Iceberg Rust today, > DataFusion > > >>> has > > >>> a much more central role. It is by far the most mature engine > integration > > >>> in the project, is used by our SQLLogicTest infrastructure, and many > > >>> users > > >>> building on Iceberg Rust are also building on DataFusion. The overlap > > >>> between the two communities is therefore much larger. > > >>> > > >>> Because of that, I would prefer that extracting the integration does > not > > >>> turn it into something that is effectively owned only by the > DataFusion > > >>> side. Ideally, both Iceberg Rust contributors and DataFusion > contributors > > >>> should be able to review changes, maintain compatibility, and evolve > the > > >>> integration together. > > >>> > > >>> 3) Dropping DataFusion dependencies from pyiceberg-core binding: I > think > > >>> it > > >>> makes sense to make things simpler and have left a comment on the > github > > >>> issue with more detailed thoughts: > > >>> https://github.com/apache/iceberg-rust/issues/3036 > > >>> > > >>> Best, > > >>> Shawn > > >>> > > >>> On Fri, Aug 21, 2026 at 11:23 AM Matt Butrovich < > [email protected]> > > >>> wrote: > > >>> > > >>> > Hello all, > > >>> > > > >>> > > > >>> > I've never tried emailing two different project lists at once, but > it > > >>> was > > >>> > suggested that I do so to try to track the conversation across both > > >>> > communities. We'll see how this threads on the mailing lists. > > >>> > > > >>> > > > >>> > There has been a GitHub Discussion > > >>> > > > >>> > https://github.com/apache/iceberg-rust/discussions/2992#discussioncomment-18082533 > > >>> , > > >>> > a GitHub Issue https://github.com/apache/iceberg-rust/issues/3029, > and > > >>> > it's been a long topic of conversation in the past two weeks in > both > > >>> the > > >>> > DataFusion and Iceberg Rust Community Calls to discuss moving the > > >>> > DataFusion integration from Iceberg Rust to a separate repository. > I > > >>> will > > >>> > try to summarize some of the major points as I understand them, > but the > > >>> > conversations are the ground truth and please feel free to correct > me > > >>> here. > > >>> > > > >>> > > > >>> > The DataFusion TableProvider integration in Iceberg Rust makes > > >>> DataFusion > > >>> > a dependency for Iceberg Rust. The integration exists for multiple > > >>> reasons: > > >>> > > > >>> > 1) an engine to execute Iceberg Rust's corpus of sqllogictest files > > >>> > > > >>> > 2) a TableProvider integration for DataFusion users to interact > with > > >>> > Iceberg tables > > >>> > > > >>> > > > >>> > Some of the motivations to break out the integration: > > >>> > > > >>> > 1) There have been a number of issues and pull requests against the > > >>> > DataFusion TableProvider in Iceberg Rust as users want to add more > > >>> > features, and they often go stale. I don't believe there are many > > >>> > committers/PMC members familiar with or using the DataFusion > > >>> integration. > > >>> > > > >>> > 2) Iceberg Rust would like to stay as engine-agnostic as possible. > A > > >>> > recent DataFusion Ballista integration was declined for this reason > > >>> > https://github.com/apache/iceberg-rust/pull/2613. > > >>> > > > >>> > 3) Other projects that rely on both Iceberg Rust and DataFusion > (e.g., > > >>> > Comet) are blocked by Iceberg Rust upgrading its DataFusion and > Arrow > > >>> > dependencies before they can upgrade. > > >>> > > > >>> > > > >>> > Some considerations for both communities: > > >>> > > > >>> > 1) Where would this DataFusion TableProvider live? Most > specifically, > > >>> > would it be an Apache-governed project? As folks like @andygrove > point > > >>> out, > > >>> > this can affect whether some community members could contribute to > it. > > >>> > There is a datafusion-contrib org for DataFusion-related projects > to > > >>> have > > >>> > visibility but no Apache governance, but there may be options to > put it > > >>> > under an Apache repository. > > >>> > > > >>> > 2) How would Iceberg Rust continue to run sqllogictests for > regression > > >>> > testing? Does this live in a different repository that depends on > this > > >>> new > > >>> > Iceberg Rust TableProvider crate? Would we be able to test Pull > > >>> Requests on > > >>> > Iceberg Rust with sqllogictests? > > >>> > > > >>> > 3) @kevinqliu is familiar with the Python bindings in Iceberg Rust, > > >>> and I > > >>> > believe that DataFusion dependency might be removed as well, but > that > > >>> is > > >>> > not the core focus of this conversation. He has also proposed > removing > > >>> that > > >>> > and using the DataFusion Python bindings directly. > > >>> > > > >>> > > > >>> > I'm sure I'm forgetting things, but this email is long enough. > > >>> > > > >>> > > > >>> > Thanks everyone for the discussion thus far, and looking forward to > > >>> more > > >>> > input on this. > > >>> > > > >>> > > > >>> > -Matt > > >>> > > > >>> > > > >>> > > > >>> > > > >>> > > >> > > >
