Sruhvx-jpg commented on PR #3165:
URL: https://github.com/apache/iceberg-rust/pull/3165#issuecomment-5730034851

   @laskoviymishka Addressed all feedback from the latest review:
   
   1. **SSE-KMS Default Key**: When `s3.sse.type=kms` is set without an 
explicit key ID, we now set `aws_server_side_encryption` to `aws:kms` via 
`with_config` without passing an empty key ID header.
   2. **URL Percent-Decoding**: `parse_s3_url` now decodes percent-encoded 
bucket names via `percent_decode_str` (`my%2Dbucket` -> `my-bucket`), fixing 
cache key and bucket resolution.
   3. **Batch `delete_prefix`**: Piped `store.list()` into 
`store.delete_stream()`, leveraging S3's bulk `DeleteObjects` (up to 1,000 keys 
per request).
   4. **SSE-C MD5**: Verified that `with_ssec_encryption` automatically 
computes the MD5 hash via `Md5::new()` and sets 
`x-amz-server-side-encryption-customer-key-MD5`. Added a doc-comment to 
document this.
   5. **Drop Diagnostics**: Added `tracing::warn!` when `ObjectStoreWriter` is 
dropped outside an active Tokio runtime context.
   6. **Expanded Integration & Unit Tests (AI-assisted)**:
      - `test_file_io_s3_multipart_writer_past_threshold`: Writes 12 MiB 
(crossing the 10 MiB threshold) to test multi-part S3 chunking and assembly 
end-to-end.
      - `test_file_io_s3_delete_prefix_bulk`: Tests bulk deletion over 15 
objects under a prefix.
      - `test_file_io_s3_range_reader`: Tests byte-range slicing against S3.
      - `test_file_io_s3_multipart_writer_drop_aborts`: Tests multipart upload 
abort on drop.
      - Test cases were scaffolded with AI assistance and verified end-to-end 
against local S3/LocalStack.
   
   All checks, clippy lints, and integration tests are green. Ready for another 
pass!


-- 
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