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

NC | GPFS | Threaded Multiple Object Delete fix #8388

Merged

Conversation

romayalon
Copy link
Contributor

@romayalon romayalon commented Sep 19, 2024

Explain the changes

  1. When calling delete multiple objects on the same key & version concurrently, the version might move/delete, on GPFS we saw that _open_files_gpfs() failed on ENOENT in that case, therefore added a retry when got ENOENT, next iteration we will return if the version was deleted or get the new location of the version.

Issues: Fixed #xxx / Gap #xxx

  1. Fixed NSFS | S3 | Versioning: Threaded delete of multiple objects does not delete #8377
  2. Gap - Enable s3tests_boto3/functional/test_s3.py::test_versioning_concurrent_multi_object_delete, currently it's not working because they call put bucket twice and the test fails on BucketAlreadyExists, the test I added dooes the same as the ceph test but in general we want to remove it from the pending list. Opened a bug - test_versioning_concurrent_multi_object_delete creates the bucket twice and fails on BucketAlreadyExists ceph/s3-tests#588.

Testing Instructions:

  1. Run sudo jest -t 'concurrent multi object delete' on GPFS cluster or run s3tests_boto3/functional/test_s3.py::test_versioning_concurrent_multi_object_delete while fixing manually the bug on s3-tests code - see the suggested fix in test_versioning_concurrent_multi_object_delete creates the bucket twice and fails on BucketAlreadyExists ceph/s3-tests#588.
  • Doc added/updated
  • Tests added

src/sdk/namespace_fs.js Outdated Show resolved Hide resolved
@romayalon romayalon force-pushed the romy-threaded-multi-object-delete branch from b4b2968 to 0799b8c Compare September 22, 2024 07:51
Copy link
Contributor

@nadavMiz nadavMiz left a comment

Choose a reason for hiding this comment

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

LGTM

src/sdk/namespace_fs.js Outdated Show resolved Hide resolved
@shirady shirady mentioned this pull request Sep 23, 2024
2 tasks
@shirady
Copy link
Contributor

shirady commented Sep 23, 2024

@romayalon could you please add the issue you opened on the Ceph S3 tests s3tests_boto3/functional/test_s3.py::test_versioning_concurrent_multi_object_delete to the table in this doc Ceph S3 Tests - Pending List Status in the changes of this PR?

@nadavMiz nadavMiz mentioned this pull request Sep 23, 2024
2 tasks
@romayalon romayalon force-pushed the romy-threaded-multi-object-delete branch 2 times, most recently from f65e5c1 to 15c3ac3 Compare September 23, 2024 15:57
@romayalon romayalon force-pushed the romy-threaded-multi-object-delete branch from 15c3ac3 to 110abc2 Compare September 24, 2024 06:33
@romayalon romayalon merged commit 4b1fdab into noobaa:master Sep 24, 2024
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

NSFS | S3 | Versioning: Threaded delete of multiple objects does not delete
4 participants