hcrosse opened a new pull request, #1530:
URL: https://github.com/apache/arrow-go/pull/1530

   ### Rationale for this change
   
   arrow-go cannot read back some Brotli files it wrote. Empty V2 values 
sections and some nonempty pages that exactly fill the destination trigger the 
failure.
   
   ### What changes are included in this PR?
   
   `brotliCodec.DecodeWithError` uses `io.ReadFull` for the extra byte check, 
continuing past `(0, nil)` until a byte or an error arrives. Reaching `io.EOF` 
succeeds. Extra decoded data still returns the overflow error.
   
   ### Are these changes tested?
   
   `TestBrotliDecodeDestinationSize` checks exact fill and the overflow error. 
`TestReadAllNullBooleanDataPageV2Brotli` checks reading an all null V2 page 
written with Brotli.
   
   The exact fill assertion and the round trip fail on main and pass with this 
change. The overflow assertion already passes on main. The cases in the issue 
read as `rows=24575` and `rows=2 nulls=2` with this change.
   
   With Go 1.26.10, vet, affected `-race -tags assert,test` tests, lint and the 
Release Audit Tool passed.
   
   ### Are there any user-facing changes?
   
   Yes. These Brotli pages decode successfully, including with default writer 
properties. Other codecs and the public API are unchanged.
   
   Closes https://github.com/apache/arrow-go/issues/1529.
   


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