quinnj opened a new pull request, #613:
URL: https://github.com/apache/arrow-julia/pull/613

   An Arrow cloud source built from a `CloudStore.Object` with an empty ETag 
could mix ranges from different versions of the same key. In both MinIO and 
Azurite, reading `abcd`, replacing the object with the same-size uppercase 
content, and reading the next range returned `EFGH` without an error.
   
   Resolve missing metadata once when constructing the source, verify that its 
size agrees with the supplied handle, and require a strong ETag before reading 
any ranges. The existing `If-Match` requests then reject a changed object even 
when it is replaced before the first read. Complete object handles need no 
extra metadata request.
   
   This PR targets `core-rewrite` and depends on #609. It uses the released 
CloudStore API and keeps compatibility with CloudStore 1.6; it does not depend 
on the newer range reader work in CloudStore main.
   
   Validation:
   
   - Reproduced mixed-version reads against signed MinIO and Azurite requests 
before the fix.
   - Metadata tests cover one-time resolution, size mismatch, empty objects, 
and missing, weak, or malformed ETags.
   - Replacement tests require HTTP 412 for a source that has already read a 
range and a source replaced before its first read, plus a fresh source that 
reads the replacement correctly.
   - All 57 focused extension checks pass on Julia 1.10.12 with CloudStore 
1.6.0 / HTTP 1.11 and Julia 1.13.1 with CloudStore 1.8.0 / HTTP 2.8.
   - The full Arrow suite, including Aqua and the scan acceptance checks, 
passes on Julia 1.13.1 with four threads.
   
   The research, implementation, and tests were AI-driven with OpenAI Codex, 
including an independent agent review.
   
   Co-authored by Codex
   


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

Reply via email to