Skip to content

Conversation

@alamb
Copy link
Contributor

@alamb alamb commented Nov 20, 2025

Which issue does this PR close?

Rationale for this change

One major API change in the next object_store release is the addition of the ObjectStoreExt trait
and the removal of several APIs from ObjectStore into ObjectStoreExt.

This will be a breaking change for downstream users of object_store so it is important
that we have good documentation about the rationale for hte change (and what they get out of the change)
and how to migrate to the new APIs.

What changes are included in this PR?

Add some documentation to the object_store crate root and to the ObjectStoreExt trait itself

Are there any user-facing changes?

Yes more docs

src/lib.rs Outdated
/// ) -> Result<Vec<Bytes>> {
/// ...
/// }
/// There are no default implementation for any of the methods in this trait by
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is not true (yet) but I believe that the goal for 0.13.0 is to remove all default implementations -- @crepererum can you confirm this is the plan / goal?

Copy link
Contributor

Choose a reason for hiding this comment

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

That's not gonna happen for 0.13, e.g. list_prefixes and get_ranges will still have default impls. I don't think we gonna remove them in 0.13, since they cannot easily be mapped to _opts methods either.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok, I will revise this wording

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Refined in 69eaabf

/// and the store users and provides additional methods that may be simpler to use but overlap
/// in functionality with [`ObjectStore`].
///
/// # Wrappers
Copy link
Contributor

Choose a reason for hiding this comment

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

I think the wrappers section is still relevant. In fact NOT using the clippy lint is still a foot gun (#537 proofs that even object_store itself suffered from this and we had a wide range of cases at Influx too).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done in c4c4f1c

@alamb alamb requested a review from crepererum December 4, 2025 12:15
@alamb alamb merged commit 1a9758b into apache:main Dec 4, 2025
8 checks passed
@alamb
Copy link
Contributor Author

alamb commented Dec 4, 2025

Thank you @crepererum and @kylebarron for the help reviewing this

@alamb alamb deleted the alamb/ObjectStoreExt_docs branch December 4, 2025 17:20
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.

3 participants