NC | Add non current timestamp xattr support #8975
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe the Problem
We need a new xattr that describes when the version became non current to be assigned on uploads (move to .versions/) and removed on deletions (promote to latest). The new xattr will be used as a hint for the nc lifecycle non current days rule.
Explain the Changes
assigned Date.now() to XATTR_NON_CURRENT_TIMESTASMP xattr on the following cases -
a. _move_to_dest_version() - when moving latest version to version_path.
b. _move_directory_content_xattr_to_versioned_file() - when moving directory object xattr to version file.
c. _assign_versions_to_fs_xattr() - when version is a delete marker only.
Removed XATTR_NON_CURRENT_TIMESTASMP value from file on _promote_version_to_latest().
Updated test_bucketspace_versioning.js tests to test these cases as well.
Issues: Fixed #xxx / Gap #xxx
Testing Instructions: