Object versioning
gaul opened this issue · 2 comments
S3Proxy does not currently support object versioning, triggering many s3-tests failures:
ERROR: s3tests.functional.test_s3.test_versioning_bucket_create_suspend
ERROR: s3tests.functional.test_s3.test_versioning_obj_create_read_remove
ERROR: s3tests.functional.test_s3.test_versioning_obj_create_read_remove_head
ERROR: s3tests.functional.test_s3.test_versioning_obj_suspend_versions
ERROR: s3tests.functional.test_s3.test_versioning_obj_suspend_versions_simple
ERROR: s3tests.functional.test_s3.test_versioning_obj_create_versions_remove_all
ERROR: s3tests.functional.test_s3.test_versioning_obj_create_overwrite_multipart
ERROR: s3tests.functional.test_s3.test_versioning_obj_list_marker
ERROR: s3tests.functional.test_s3.test_versioning_copy_obj_version
ERROR: s3tests.functional.test_s3.test_versioning_multi_object_delete
ERROR: s3tests.functional.test_s3.test_versioning_multi_object_delete_with_marker
ERROR: s3tests.functional.test_s3.test_versioning_multi_object_delete_with_marker_create
ERROR: s3tests.functional.test_s3.test_versioned_object_acl
ERROR: s3tests.functional.test_s3.test_versioned_concurrent_object_create_concurrent_remove
ERROR: s3tests.functional.test_s3.test_versioned_concurrent_object_create_and_remove
Implementing this requires upstream jclouds work tracked by JCLOUDS-895.
Hi Andrew, just bumping this. I see you have done quite a bit of work in the JCLouds upstream but it seems to have lost momentum over a few years of being blocked by issues. Wondering your thoughts on dusting this off.
This is a large task and I have no plans to work on this. I don't think jclouds is a good base for the future, instead S3Proxy should use vendor SDKs as suggested in #606 which implements the jclouds BlobStore
interface. Then S3Proxy can create and implement an ExtendedBlobStore
interface that calls into the versioned APIs when available. Versioning specifically creates some issues since we need the version number in the object metadata.