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
Native Iceberg writes use an iceberg-rust revision missing partition-path escaping #5636
The native Iceberg write path currently pins iceberg-rust revision:
3d84c81353b1b23b6e4ae8eea8f8a021cc6927a7
This revision predates apache/iceberg-rust#2875, which fixed PartitionSpec::partition_to_path to URL-encode partition field names and values.
As a result, Comet's native Iceberg writer can generate unescaped partition paths for values containing special characters such as #, ?, or /.
This is not only a directory-layout difference. For example, an S3 partition value containing # can produce a committed location such as:
s3://bucket/table/data/p=a#b/file.parquet
Iceberg Java's S3FileIO treats # and ? as URI fragment/query delimiters when resolving the object key, so a location produced by the older iceberg-rust behavior can resolve to a different key when later read through the standard Iceberg Java path.
Native Iceberg writes should generate partition paths compatible with Iceberg Java's PartitionSpec.partitionToPath behavior.
Comet should consume an iceberg-rust revision containing apache/iceberg-rust#2875 and include a native-write → JVM-read interoperability regression test for escaped partition paths.
The upstream issue has already been fixed, so no new iceberg-rust issue is required. The remaining work is for Comet to update its pinned iceberg-rust revision and verify interoperability.
Activity
fix: Bump iceberg-rust so native Iceberg writes URL-escape partition …