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

Tracking issues of user metadata support #4842

Open
8 of 17 tasks
Tracked by #4841
Xuanwo opened this issue Jul 1, 2024 · 9 comments
Open
8 of 17 tasks
Tracked by #4841

Tracking issues of user metadata support #4842

Xuanwo opened this issue Jul 1, 2024 · 9 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@Xuanwo
Copy link
Member

Xuanwo commented Jul 1, 2024

This issue is used to track the implementation of user metadata support.

Context

There are two types of metadata across various storage services.

  • System Defined: metadata like last-modified, content-type and so on. Some of them are editable, like content-type, but some are non-editable like last-modified.
  • User Defined: extra metadata that provided by user, can be any valid string.

OpenDAL now only supports System Defined metadata, we should add support for User Defined metadata so that users can write most useful information along with the file data. For example, write the location for this file.

Tasks

@Xuanwo Xuanwo added good first issue Good for newcomers help wanted Extra attention is needed labels Jul 1, 2024
@Xuanwo Xuanwo changed the title Tracking issues of custom metadata support Tracking issues of user metadata support Jul 4, 2024
@meteorgan
Copy link
Contributor

meteorgan commented Jul 5, 2024

Hi, I'm interested in this issue.
but I have one problem to confirm:how do clients intend to use this feature, like

let mut w = op
      .writer_with("path/to/file")
      .content_type("application/octet-stream")
      .user_metadata(map)
      .await?;

?

@Xuanwo
Copy link
Member Author

Xuanwo commented Jul 5, 2024

but I have one problem to confirm:what client wants to use this feature, like

Hi, there are many use cases of this feature. For example, a db can write their own metadata like tenant, catalog, database, table in this map. So they can query those metadata without extra meta services.

@meteorgan
Copy link
Contributor

emmm, I should make it clear: I've reviewed the use cases, and would like to confirm the API for users.
should I add an function to FutureWrite like system defined metadata ?

@Xuanwo
Copy link
Member Author

Xuanwo commented Jul 5, 2024

should I add an function to FutureWrite like system defined metadata ?

Yes, we need a new API called user_metadata for both write and writer

@meteorgan
Copy link
Contributor

should I add an function to FutureWrite like system defined metadata ?

Yes, we need a new API called user_metadata for both write and writer

Ok, i'll begin addressing this issue now

@jorgehermo9
Copy link
Contributor

Hi @Xuanwo, I see that there are some of the tasks that are already done (the ones from the "Implement user_metadata for metadata" section and the s3 service). Should this tracking issue checklist be updated with that?

I can help implementing user_metadata for other services, I'd appreciate if the checklist can be extended to at least the ones with the most priority?

@Xuanwo
Copy link
Member Author

Xuanwo commented Nov 3, 2024

Hi, thank you @jorgehermo9 for your work on this!

I will take some time to extend the list and sort it by priority. Before that, I believe the next good option could be gcs support.

@jorgehermo9
Copy link
Contributor

jorgehermo9 commented Nov 14, 2024

Hi @Xuanwo! I couldn't work on this these days, but I'll resume my work as soon as I have enough time :) I have it in mind, I didn't forget about this!

@Xuanwo
Copy link
Member Author

Xuanwo commented Nov 14, 2024

Hi @Xuanwo! I couldn't work on this these days, but I'll resume my work as soon as I have enough time :) I have it in mind, I didn't forget about this!

Really appreciated!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants