You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@iceberg.apache.org by "zakariya-s (via GitHub)" <gi...@apache.org> on 2026/07/06 18:28:50 UTC
[I] Honor `write.metadata.path` table property for metadata file locations [iceberg-rust]
zakariya-s opened a new issue, #2775:
URL: https://github.com/apache/iceberg-rust/issues/2775
### Is your feature request related to a problem or challenge?
Iceberg's `write.metadata.path` table property lets a table place its metadata files somewhere other than the default `<table-location>/metadata`. Iceberg's Java implementation honors this via [`BaseMetastoreTableOperations.metadataFileLocation`](https://github.com/apache/iceberg/blob/d303514b4a9e90e62ffe136dcea3eed624eab288/core/src/main/java/org/apache/iceberg/BaseMetastoreTableOperations.java#L218-L226), but iceberg-rust always writes metadata files to `<table-location>/metadata`, ignoring the property.
This breaks setups where object-store credentials are prefix-scoped. A REST catalog that vends credentials scoped to the table's configured `write.data.path` and `write.metadata.path` prefixes will deny `PutObject` to `<table-location>/metadata` when `write.metadata.path` points elsewhere, so a commit fails with `AccessDenied` on the manifest write. Data files are unaffected, because `write.data.path` is already honored by [`DefaultLocationGenerator`](https://github.com/apache/iceberg-rust/blob/22e80a63dbb4e58e034672b4ff665a6eae82fa02/crates/iceberg/src/writer/file_writer/location_generator.rs#L60-L67).
### Describe the solution you'd like
Honor `write.metadata.path` when generating metadata file locations, mirroring how `write.data.path` is honored for data files and matching Iceberg's Java implementation:
- Resolve the metadata directory as `write.metadata.path` when set, otherwise default to `<location>/metadata`.
- Apply it to the manifest and manifest-list paths written by the snapshot producer, and to the table metadata JSON path (`MetadataLocation`).
Behavior is unchanged when the property is unset (default `<location>/metadata`).
### Willingness to contribute
I can contribute to this feature independently
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org
Re: [I] Honor `write.metadata.path` table property for metadata file locations [iceberg-rust]
Posted by "CTTY (via GitHub)" <gi...@apache.org>.
CTTY closed issue #2775: Honor `write.metadata.path` table property for metadata file locations
URL: https://github.com/apache/iceberg-rust/issues/2775
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org