Thanks for the proposal! I'm gonna read through this, but I just wanted to chime in that this is something I've been desiring and hoping for for a long time. We've encountered tons of cases during the development of iceberg-go where implementations diverged while still following the letter of the spec. This kind of testing is very much needed.
--Matt On Mon, Jun 29, 2026, 11:11 AM Neelesh Salian <[email protected]> wrote: > Hi all, > > Each Iceberg implementation has its own tests, but there isn't a shared > way to check that > a table written by one is read the same way by another. > A few examples that have come up across the implementations: a manifest > written by one client that another can't read, > a metadata.json one writer produces that another rejects because they > disagree on whether a field is required, and a partition transform that > ends up encoded more than one way across implementations. Some of these > turned out to be bugs, others places where the spec is ambiguous. > > We think this is worth solving with some form of shared > cross-implementation conformance testing, and we'd like to align as a > community on whether to take it on and how best to start. We've written up > our current thinking, a possible direction, and a small prototype in the > doc below. > > Details, a repo design, and the interop failures we've collected: > https://docs.google.com/document/d/1HRcUMcrqUjo4CjGdwAIw85f7miWOGJ4ZJ90AgHbahaw/edit?usp=sharing > > > Feedback welcome on whether this is worth doing and how we might get > started. > > Thanks, > Neelesh (with Andrei Tserakhau) >
