RussellSpitzer opened a new pull request, #3363:
URL: https://github.com/apache/iceberg-rust/pull/3363

   ## Which issue does this PR close?
   
   No issue is linked yet.
   
   ## What changes are included in this PR?
   
   Snapshots committed by iceberg-rust now include the writer identity other 
clients already record:
   
   - `engine-name` = `iceberg-rust`
   - `engine-version` = the `iceberg` crate version
   - `iceberg-version` = `Apache Iceberg Rust <crate version>`
   
   PyIceberg writes the first two 
([apache/iceberg-python#3441](https://github.com/apache/iceberg-python/pull/3441)).
 iceberg-java and iceberg-go write `iceberg-version` from their environment 
context; Java's string also includes a git commit id, which this build does not 
have, so the value is the crate version only.
   
   The three keys are applied after user snapshot properties and computed 
metrics, so a caller cannot replace them. Other caller properties are 
unchanged. Existing snapshots are left alone.
   
   ## Are these changes tested?
   
   Yes. Two unit tests on `FastAppendAction`:
   
   - a plain append records all three keys
   - caller snapshot properties with those keys are overwritten, and an 
unrelated property is kept
   
   `cargo test -p iceberg --lib writer_identity` and `cargo clippy -p iceberg 
--lib --tests -- -D warnings` both pass.
   
   ## AI Disclosure
   
   Grok 4.7 in Cursor wrote the implementation, tests, and this description. 
The change has not been reviewed by a human yet.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to