You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
A stale update_spec adds a partition field named like a column another writer added, which Java cannot load #4198
Currently, UpdateSpec runs the name check #2305 added against the schema it loaded, and its commit asserts only the last partition id and default spec id, so after another writer adds a column xb, a stale handle can add a partition field also named xb. Without the concurrent change the same call raises ValueError: Cannot create partition with a name that exists in schema: xb. Java then refuses the metadata.
Loading this metadata with Java's TableMetadataParser fails with IllegalArgumentException: Cannot create identity partition sourced from different field in schema: xb. The opposite order does the same: a stale update_schema().add_column("xb") after another writer added partition field xb commits; #4190 is another stale update_schema that AssertCurrentSchemaId lets through.
tested on pyiceberg 0.12.0 and main
Willingness to contribute
I can contribute a fix for this bug independently
I would be willing to contribute a fix for this bug with guidance from the Iceberg community
I cannot contribute a fix for this bug at this time
Activity