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]
