-
Notifications
You must be signed in to change notification settings - Fork 480
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
docs(RFC): Object Versioning #2602
Conversation
Signed-off-by: suyanhanx <suyanhanx@gmail.com>
I invite GPT-4 to read this proposal as a newbie of rust and storage systems, he has the following problems. Would you like to answer them in the RFC's rational section? The following questions is from GPT-4: This RFC proposes the object versioning feature for OpenDAL. Here are some aspects that I do not quite understand:
These are the areas in the RFC that I am unclear about. I would appreciate if these could be clarified. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly LGTM, this RFC is ready to merge. Please fix some minor issues and create the tracking issue for this RFC.
Signed-off-by: suyanhanx <suyanhanx@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, let's go!
Any reason for delaying implementing |
The API is not user-friendly and does not meet any user requests. |
🥲 Weird. |
Changing my mind is easy: bring me a user and their use case. |
* feat(binding/lua): add rename and create_dir operator function by @oowl in apache#2564 * feat(services/azblob): support sink by @suyanhanx in apache#2574 * feat(services/gcs): support sink by @suyanhanx in apache#2576 * feat(services/oss): support sink by @suyanhanx in apache#2577 * feat(services/obs): support sink by @suyanhanx in apache#2578 * feat(services/cos): impl sink by @suyanhanx in apache#2587 * feat(service): Support stat for Dropbox by @Zheaoli in apache#2588 * feat(services/dropbox): impl create_dir and polish error handling by @suyanhanx in apache#2600 * feat(services/dropbox): Implement refresh token support by @Xuanwo in apache#2604 * feat(service/dropbox): impl batch delete by @suyanhanx in apache#2606 * feat(CI): set Kvrocks test for service redis by @suyanhanx in apache#2613 * feat(core): object versioning APIs by @suyanhanx in apache#2614 * feat(oay): actually read configuration from `oay.toml` by @messense in apache#2615 * feat(services/webdav): impl sink by @suyanhanx in apache#2622 * feat(services/fs): impl Sink for Fs by @Ji-Xinyou in apache#2626 * feat(core): impl `delete_with` on blocking operator by @suyanhanx in apache#2633 * feat(bindings/C): add support for list in C binding by @Ji-Xinyou in apache#2448 * refactor(core): Add ErrorKind InvalidInput to indicate users input error by @dqhl76 in apache#2637 * fix(doc): fix codeblock rendering by @xxchan in apache#2592 * fix(service/minitrace): should set local parent by @andylokandy in apache#2620 * fix(service/minitrace): update doc by @andylokandy in apache#2621 * doc(bindings/haskell): add module document by @silver-ymz in apache#2566 * docs: Update license related comments by @Prashanth-Chandra in apache#2573 * docs: add hdfs namenode High Availability related troubleshoot by @wcy-fdu in apache#2601 * docs: polish release doc by @PsiACE in apache#2608 * docs(blog): add Apache OpenDAL(Incubating): Access Data Freely by @PsiACE in apache#2607 * docs(RFC): Object Versioning by @suyanhanx in apache#2602 * ci: Disable bindings/java deploy for now by @tisonkun in apache#2560 * ci: Disable the failed stage-release job instead by @tisonkun in apache#2561 * ci: add haddock generator for haskell binding by @silver-ymz in apache#2569 * ci(binding/lua): add luarocks package manager support by @oowl in apache#2558 * build(deps): bump predicates from 2.1.5 to 3.0.1 by @dependabot in apache#2583 * build(deps): bump tower-http from 0.4.0 to 0.4.1 by @dependabot in apache#2582 * build(deps): bump chrono from 0.4.24 to 0.4.26 by @dependabot in apache#2581 * build(deps): bump redis from 0.22.3 to 0.23.0 by @dependabot in apache#2580 * build(deps): bump cbindgen from 0.24.3 to 0.24.5 by @dependabot in apache#2579 * ci: upgrade hawkeye to v3 by @tisonkun in apache#2585 * ci(services/webdav): Setup integration test for nextcloud by @Xuanwo in apache#2631 * chore: add haskell binding link to website by @silver-ymz in apache#2571 * chore: fix cargo warning for resolver by @xxchan in apache#2590 * chore: bump log to 0.4.19 by @xxchan in apache#2591 * chore(deps): update deps to latest version by @suyanhanx in apache#2596 * chore: Add release 0.38.0 to download by @PsiACE in apache#2597 * chore(service/minitrace): automatically generate span name by @andylokandy in apache#2618 * @Prashanth-Chandra made their first contribution in apache#2573 * @andylokandy made their first contribution in apache#2618 **Full Changelog**: apache/opendal@v0.38.0...v0.38.1 Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
* Bump to version 0.38.1 * feat(binding/lua): add rename and create_dir operator function by @oowl in #2564 * feat(services/azblob): support sink by @suyanhanx in #2574 * feat(services/gcs): support sink by @suyanhanx in #2576 * feat(services/oss): support sink by @suyanhanx in #2577 * feat(services/obs): support sink by @suyanhanx in #2578 * feat(services/cos): impl sink by @suyanhanx in #2587 * feat(service): Support stat for Dropbox by @Zheaoli in #2588 * feat(services/dropbox): impl create_dir and polish error handling by @suyanhanx in #2600 * feat(services/dropbox): Implement refresh token support by @Xuanwo in #2604 * feat(service/dropbox): impl batch delete by @suyanhanx in #2606 * feat(CI): set Kvrocks test for service redis by @suyanhanx in #2613 * feat(core): object versioning APIs by @suyanhanx in #2614 * feat(oay): actually read configuration from `oay.toml` by @messense in #2615 * feat(services/webdav): impl sink by @suyanhanx in #2622 * feat(services/fs): impl Sink for Fs by @Ji-Xinyou in #2626 * feat(core): impl `delete_with` on blocking operator by @suyanhanx in #2633 * feat(bindings/C): add support for list in C binding by @Ji-Xinyou in #2448 * refactor(core): Add ErrorKind InvalidInput to indicate users input error by @dqhl76 in #2637 * fix(doc): fix codeblock rendering by @xxchan in #2592 * fix(service/minitrace): should set local parent by @andylokandy in #2620 * fix(service/minitrace): update doc by @andylokandy in #2621 * doc(bindings/haskell): add module document by @silver-ymz in #2566 * docs: Update license related comments by @Prashanth-Chandra in #2573 * docs: add hdfs namenode High Availability related troubleshoot by @wcy-fdu in #2601 * docs: polish release doc by @PsiACE in #2608 * docs(blog): add Apache OpenDAL(Incubating): Access Data Freely by @PsiACE in #2607 * docs(RFC): Object Versioning by @suyanhanx in #2602 * ci: Disable bindings/java deploy for now by @tisonkun in #2560 * ci: Disable the failed stage-release job instead by @tisonkun in #2561 * ci: add haddock generator for haskell binding by @silver-ymz in #2569 * ci(binding/lua): add luarocks package manager support by @oowl in #2558 * build(deps): bump predicates from 2.1.5 to 3.0.1 by @dependabot in #2583 * build(deps): bump tower-http from 0.4.0 to 0.4.1 by @dependabot in #2582 * build(deps): bump chrono from 0.4.24 to 0.4.26 by @dependabot in #2581 * build(deps): bump redis from 0.22.3 to 0.23.0 by @dependabot in #2580 * build(deps): bump cbindgen from 0.24.3 to 0.24.5 by @dependabot in #2579 * ci: upgrade hawkeye to v3 by @tisonkun in #2585 * ci(services/webdav): Setup integration test for nextcloud by @Xuanwo in #2631 * chore: add haskell binding link to website by @silver-ymz in #2571 * chore: fix cargo warning for resolver by @xxchan in #2590 * chore: bump log to 0.4.19 by @xxchan in #2591 * chore(deps): update deps to latest version by @suyanhanx in #2596 * chore: Add release 0.38.0 to download by @PsiACE in #2597 * chore(service/minitrace): automatically generate span name by @andylokandy in #2618 * @Prashanth-Chandra made their first contribution in #2573 * @andylokandy made their first contribution in #2618 **Full Changelog**: v0.38.0...v0.38.1 Signed-off-by: ClSlaid <cailue@bupt.edu.cn> * refactor: bump npm version Signed-off-by: ClSlaid <cailue@bupt.edu.cn> * chore: include #2634 Signed-off-by: 蔡略 <cailue@bupt.edu.cn> --------- Signed-off-by: ClSlaid <cailue@bupt.edu.cn> Signed-off-by: 蔡略 <cailue@bupt.edu.cn>
This PR introduces a new feature
object_versioning
.Originally posted by Xuanwo #2156
Some storage services, such as Amazon S3, have built-in support for versioning.
This is achieved through a feature called ObjectVersion, which allows the same object to exist in multiple versions and be accessed separately even after deletion. With this feature, users can ensure the safety of their data by rolling back to previous versions in case of unintended deletions or changes.