Skip to content

Conversation

@crepererum
Copy link
Contributor

See #428.

Content

PR Included
#404
#399
#407
#406
#418
#417
#422
#412
#410
#421
#426
#429
#403

kylebarron and others added 12 commits June 16, 2025 10:11
* ci: Pin tracing-attributes to fix CI

* Pin tracing-core
See apache#339. The old name is kept as a deprecated alias for now.
This used to work once but got broken during refactoring. Added a test
to catch regressions.

See apache#48 where -- I
think -- we decided that instead of printing entire error chains in
`Display` the API users shall walk the error chain. This is especially
relevant for error type that we do NOT control, like upstream `request`
types.
This code is what HTTP uses to indicate the client has sent too many
requests in a given amount of time. It may sound counter-intuitive to
retry in this situation, but that's why we use an exponential backoff
mechanism. It gives the server the opportunity to recover, without
failing the requests immediately.

The retry mechanism already works in object stores like S3 because they
return a server error. But without this change, we are not handling GCS
properly. GCS returns a client error `429 Too Many Requests` instead.
This change enables retries on this response too.

A more advanced retry mechanism would use the optional response header
`Retry-After`, but that is beyond the scope of this PR.

Closes: apache#309

// See <https://github.com/apache/arrow-rs-object-store/issues/339>.
#[doc(hidden)]
#[deprecated(note = "Use PutMultipartOptions", since = "0.13.0")]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should use a different version here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this needs to be fixed on main too, I'm gonna fix that in a release notes PR which needs to land on main anyways.

@vladidobro
Copy link

vladidobro commented Jul 11, 2025

Hello!

Please excuse me interrupting the release flow, but do you think it could be possible to fit in this very small MR (not yet merged nor approved nor reviewed)? #431
As far as I understand, it should be in line with object_store goals (sensible compatibility with fsspec URLs).
Of course if there would need to be some discussion about it, then not... I am only asking in case you would consider it an obvious fix.

@crepererum
Copy link
Contributor Author

Please excuse me interrupting the release flow, but do you think it could be possible to fit in this very small MR (not yet merged nor approved nor reviewed)? #431

No, not merged on main, hence no cherry-picking.

@crepererum crepererum merged commit 7242a95 into apache:release/0.12 Jul 11, 2025
9 checks passed
@crepererum
Copy link
Contributor Author

I've manually merged the PR using git because GitHub insisted on squashing the commits -- which would have been a mess.

@crepererum crepererum deleted the crepererum/0.12.3-backports branch July 11, 2025 09:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.