Skip to content

Conversation

@nvartolomei
Copy link
Contributor

Backports Required

  • none - not a bug fix
  • none - this is a backport
  • none - issue does not exist in previous branches
  • none - papercut/not impactful enough to backport
  • v25.3.x
  • v25.2.x
  • v25.1.x

Release Notes

Improvements

  • Iceberg: Expand JSON Schema support.

Refactor the JSON Schema to Iceberg type conversion to use a two-phase
constraint solver architecture instead of the previous mixed
traversal/conversion approach.

Phase 1 (collect): Traverses the JSON Schema and builds a constraint
structure with a bitfield tracking possible types, format annotations,
and nested constraints for objects/arrays.

Phase 2 (resolve): Resolves constraints to Iceberg types, rejecting
schemas where type cannot be unambiguously determined.

This design provides a cleaner separation of concerns and is more
extensible for future JSON Schema keywords (allOf, anyOf, oneOf).
@nvartolomei nvartolomei force-pushed the nv/iceberg-json-schema branch from 6c57ad1 to 708ad06 Compare January 3, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant