Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

object_store: Directory Support #7030

Open
tustvold opened this issue Jan 27, 2025 · 0 comments
Open

object_store: Directory Support #7030

tustvold opened this issue Jan 27, 2025 · 0 comments
Labels
enhancement Any new improvement worthy of a entry in the changelog

Comments

@tustvold
Copy link
Contributor

tustvold commented Jan 27, 2025

Is your feature request related to a problem or challenge? Please describe what you are trying to do.

Currently object_store treats directories as an implementation detail:

This ensures portability but has a couple of downsides:

A pattern used by some tools is to create empty objects with a trailing / to represent directories on stores that don't natively support directories. However, these pseudo directories do not really behave like normal directories:

  • A filename can be created without its parent directory existing
  • A directory can be deleted without deleting its children

Additionally, creating such pseudo directories on stores with native directories is at best confusing, if it is even possible.

This inherent inconsistency makes it very hard to devise a coherent API

Describe the solution you'd like

I think we should at least do the following:

  • Better document the current situation w.r.t directories
  • Skip over pseudo directories when listing (we have no mechanism to create them, so whatever is creating them should manage their lifecycle)

I'd also be interested if people have any ideas of a coherent way to support a notion of directories

Describe alternatives you've considered

Additional context

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Any new improvement worthy of a entry in the changelog
Projects
None yet
Development

No branches or pull requests

1 participant