sarum90 commented on PR #609: URL: https://github.com/apache/arrow-rs-object-store/pull/609#issuecomment-3770462315
Thanks for the suggestion! I initially tried using `HttpBuilder` directly, but couldn't get the 206 validation test to fail on main - turns out the HTTP client has defensive checks that the S3 client lacks. So I created a minimal `TestGetClient` structured like the cloud store clients, which also gave me a way to inject client-side errors after content-length bytes (something you can't trigger from the server side without actual timeouts). I've added tests for: 1. **206 status validation** - verifies we reject retries that return 200 instead of 206 2. **Content-Range validation** - verifies we reject retries with mismatched Content-Range headers 3. **No retry after complete delivery** - injects an error after all Content-Length bytes are received, verifying we don't attempt a spurious retry Let me know if the `TestGetClient` + `ErrorAfterBody` infrastructure seems like overkill - happy to simplify if there's a lighter-weight approach, or skip some test coverage if we'd rather avoid potentially brittle test complexity. -- 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]
